<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>open-xml &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/open-xml/</link>
	<description>Feed of posts on WordPress.com tagged "open-xml"</description>
	<pubDate>Tue, 01 Dec 2009 17:28:15 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Northwind Office Business Application]]></title>
<link>http://esersahin.wordpress.com/2009/08/09/northwind-office-business-application/</link>
<pubDate>Sun, 09 Aug 2009 11:30:32 +0000</pubDate>
<dc:creator>esersahin</dc:creator>
<guid>http://esersahin.wordpress.com/2009/08/09/northwind-office-business-application/</guid>
<description><![CDATA[http://code.msdn.microsoft.com/OBANorthwind This sample demonstrates a simple Office Business Applic]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>http://code.msdn.microsoft.com/OBANorthwind</p>
<table border="0">
<tbody>
<tr>
<td><img src="http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=OBANorthwind&#38;DownloadId=4911" alt="northwindlogo75.gif" /></td>
<td>This sample demonstrates a simple Office Business Application used by the new Northwind Traders built with Visual Studio 2008 Service Pack 1. It follows the workflow of accepting purchase orders through email all the way to shipping. It shows how to expose LOB data using ADO.NET Data Services as well as interact with it in Outlook, Word, Excel and SharePoint 2007.</td>
</tr>
</tbody>
</table>
<p>Please read the companion article series for step-by-step information on building this sample:</p>
<p><strong><a href="http://blogs.msdn.com/bethmassi/archive/2009/02/02/building-an-office-business-application-for-techready-8.aspx">Building an Office Business Application</a></strong><br />
<strong><a href="http://blogs.msdn.com/bethmassi/archive/2009/02/03/oba-part-1-exposing-line-of-business-data.aspx">OBA Part 1 &#8211; Exposing Line-of-Business Data</a></strong><br />
<strong><a href="http://blogs.msdn.com/bethmassi/archive/2009/02/07/oba-part-2-building-and-outlook-client-against-lob-data.aspx">OBA Part 2 &#8211; Building an Outlook Client against LOB Data</a></strong><br />
<strong><a href="http://blogs.msdn.com/bethmassi/archive/2009/02/12/oba-part-3-storing-and-reading-data-in-word-documents.aspx">OBA Part 3 &#8211; Storing and Reading Data in Word Documents</a></strong><br />
<strong><a href="http://blogs.msdn.com/bethmassi/archive/2009/03/08/oba-part-4-building-an-excel-client-against-lob-data.aspx">OBA Part 4 &#8211; Building an Excel Client against LOB Data</a></strong><br />
<strong><a href="http://blogs.msdn.com/bethmassi/archive/2009/04/21/oba-part-5-building-the-sharepoint-2007-workflow.aspx">OBA Part 5 &#8211; Building the SharePoint 2007 Workflow</a></strong></p>
<p>This sample was built using Visual Studio 2008 Professional Service Pack 1 and it demonstrates:</p>
<ol>
<li>A way to easily expose LOB data using ADO.NET Data Services</li>
<li>An Outlook Add-in that displays LOB data in a WPF control</li>
<li>How to store and retrieve structured data from Word 2007 documents</li>
<li>An Excel document customization that edits LOB data provides data visualization</li>
<li>A SharePoint 2007 Document Library Workflow that adds Order info to the database by reading word documents and updates and reports order statuses based on changes in the database using ADO.NET Data Services</li>
</ol>
<p><strong><a href="http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=OBANorthwind&#38;DownloadId=5546">Download the latest release here</a></strong></p>
<p><strong>PLEASE READ THIS</strong><br />
This sample uses the Northwind sample database <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=06616212-0356-46A0-8DA2-EEBC53A68034&#38;displaylang=en">you can download here</a>. The sample contains a database project that includes change scripts to add EmailAddress to customers and employees tables as well as OrderNumber to the Orders table so please make sure you run those before attempting to run the sample. You may also need to update the connection string located in the Web.config of the NorthwindDataService project.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[OBA Part 3 - Storing and Reading Data in Word Documents]]></title>
<link>http://esersahin.wordpress.com/2009/08/09/oba-part-3-storing-and-reading-data-in-word-documents/</link>
<pubDate>Sun, 09 Aug 2009 11:27:36 +0000</pubDate>
<dc:creator>esersahin</dc:creator>
<guid>http://esersahin.wordpress.com/2009/08/09/oba-part-3-storing-and-reading-data-in-word-documents/</guid>
<description><![CDATA[http://blogs.msdn.com/bethmassi/archive/2009/02/12/oba-part-3-storing-and-reading-data-in-word-docum]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>http://blogs.msdn.com/bethmassi/archive/2009/02/12/oba-part-3-storing-and-reading-data-in-word-documents.aspx</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Neue CTP des Open XML Format SDK 2.0 veröffentlicht]]></title>
<link>http://kostjaklein.wordpress.com/2009/04/09/neue-ctp-des-open-xml-format-sdk-20-veroffentlicht/</link>
<pubDate>Thu, 09 Apr 2009 17:55:36 +0000</pubDate>
<dc:creator>kostjaklein</dc:creator>
<guid>http://kostjaklein.wordpress.com/2009/04/09/neue-ctp-des-open-xml-format-sdk-20-veroffentlicht/</guid>
<description><![CDATA[Gerade habe ich eher zufällig entdeckt, dass eine April 2009 Community Technical Preview (CTP) Versi]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Gerade habe ich eher zufällig entdeckt, dass eine <a title="Open XML Format SDK 2.0 - April 2009 CTP" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&#38;FamilyID=c6e744e5-36e9-45f5-8d8c-331df206e0d0">April 2009 Community Technical Preview (CTP) Version des Open XML Format SDK 2.0</a> erschienen ist. Für mich etwas überraschend, aber deswegen trotzdem schön <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Die neue CTP erweitert das Paket um Unterstützung für die Validierung von Open XML Dokumenten.</p>
<p>Viel Spaß damit wünscht<br />
Kostja</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Neues von Open XML]]></title>
<link>http://kostjaklein.wordpress.com/2009/03/20/neues-von-open-xml/</link>
<pubDate>Fri, 20 Mar 2009 14:09:49 +0000</pubDate>
<dc:creator>kostjaklein</dc:creator>
<guid>http://kostjaklein.wordpress.com/2009/03/20/neues-von-open-xml/</guid>
<description><![CDATA[Auf openxmldeveloper.org kann man mal wieder ein paar interessante Neuigkeiten lesen: Die PowerTools]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Auf <a href="http://openxmldeveloper.org/" title="openxmldeveloper.org Home">openxmldeveloper.org</a> kann man mal wieder ein paar interessante Neuigkeiten lesen:</p>
<ol>
<li>Die <a title="PowerTools für OpenXML 1.1" href="http://www.codeplex.com/PowerTools" target="_blank">PowerTools für OpenXML 1.1</a> sind erschienen. Die Power Tools sind ein auf <a title="Codeplex Home" href="http://www.codeplex.com/" target="_blank">Codeplex</a> gehostetes Open Source Projekt mit dem Ziel Open XML Dokumente einfach über <a title="Powershell bei Wikipedia" href="http://de.wikipedia.org/wiki/Windows_PowerShell">Powershell</a> Skripte zu erstellen oder zu bearbeiten. Weitere Details gibt es im Blog von <a title="Blog von Eric White" href="http://blogs.msdn.com/ericwhite/archive/2009/03/19/announcing-the-release-of-powertools-for-open-xml-v1-1.aspx">Eric White</a>.</li>
<li>Das <a title="DAISY Consortium Home" href="http://www.daisy.org/" target="_blank">DAISY Consortium</a> hat in Kooperation mit Microsoft das &#8220;DAISY add-in Version 2&#8243; für Microsoft Word veröffentlicht (<a title="Pressemitteilung" href="http://www.daisy.org/news/attachments/2009_03_18_Press_Release.html" target="_blank">Pressemitteilung</a>). Damit ist es möglich auf einfache Art und Weise aus Word Dokumenten Multimediainhalte zu erstellen, die den Zugang zu diesen Dokumenten für Sehbehinderte und Blinde ermöglichen. Hier geht&#8217;s zum <a title="DAISY add-in Download" href="http://daisy.org/projects/save-as-daisy-microsoft/">Download</a>. Unter <a title="ButtercupReader Home" href="http://www.buttercupreader.net/" target="_blank">http://www.buttercupreader.net</a> findet sich übrigens ein Silverlight Player für DAISY. Als Project Buttercup wurde dieser von der Neuseeländischen Firma <a title="Intergen Home" href="http://www.intergen.co.nz/" target="_blank">Intergen</a> entwickelt. Weitere Infos gibt es im Blog von <a title="Blog von Gray Knowlton" href="http://blogs.technet.com/gray_knowlton/archive/2009/03/19/daisy-translator-for-word-gets-an-update-save-as-mp3-from-word.aspx">Gray Knowlton</a> (Group Product Manager &#8211; Microsoft Office System).</li>
<li>Ein <a title="'Use XSLT to transform XML to OpenXML' Artikel" href="http://openxmldeveloper.org/articles/4283.aspx">interessanter Artikel mit Source Code und Beispiel</a> von Bryce Telford ist veröffentlicht. Er zeigt im Detail, wie sich mit Hilfe von <a title="XSL Transformation bei Wikipedia" href="http://de.wikipedia.org/wiki/Xslt">XSLT</a> und dem <a title="Open XML Format SDK 2.0 - September 2008 CTP" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=C6E744E5-36E9-45F5-8D8C-331DF206E0D0&#38;displaylang=en">Open XML Format SDK 2.0</a> (Übrigens immer noch CTP &#8211; final dann wohl mit Office 14 <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ) aus einer .xml Datei ein Open XML Dokument generieren lässt. Hier gibt es den <a title="Sourcecode zum Artikel" href="http://openxmldeveloper.org/attachment/4283.ashx">Quellcode</a>.</li>
</ol>
<p>Viel Spaß damit und bis bald<br />
Kostja</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Generating documents with C#, Open XML and the Document Reflector]]></title>
<link>http://gluecoder.wordpress.com/2009/03/04/generating-documents-with-c-open-xml-and-the-document-reflector/</link>
<pubDate>Wed, 04 Mar 2009 11:41:26 +0000</pubDate>
<dc:creator>alspeirs</dc:creator>
<guid>http://gluecoder.wordpress.com/2009/03/04/generating-documents-with-c-open-xml-and-the-document-reflector/</guid>
<description><![CDATA[I’ve been playing around with the Document Reflector in the Open XML SDK v2 CTP lately and I have to]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I’ve been playing around with the Document Reflector in the <a href="http://openxmldeveloper.org/archive/2008/09/16/3702.aspx">Open XML SDK v2 CTP</a> lately and I have to say, it is fantastic.</p>
<p>You can take a document with fancy formatting, styles, pictures etc and turn it into a C# class that will generate said document.</p>
<p>Of course, the power then comes as we can change the way the document is generated, insert code from line of business systems, generate documents at set times through Windows Workflow or just build documents without requiring Office to be installed. This is the real power of Open XML – not just the bandwidth and storage savings.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Office Open XML Document Inspection]]></title>
<link>http://esersahin.wordpress.com/2008/12/12/office-open-xml-document-inspection/</link>
<pubDate>Fri, 12 Dec 2008 15:39:45 +0000</pubDate>
<dc:creator>esersahin</dc:creator>
<guid>http://esersahin.wordpress.com/2008/12/12/office-open-xml-document-inspection/</guid>
<description><![CDATA[http://www.microsoft.com/uk/msdn/screencasts/screencast/253/Office-Open-XML-Document-Inspection.aspx]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://www.microsoft.com/uk/msdn/screencasts/screencast/253/Office-Open-XML-Document-Inspection.aspx">http://www.microsoft.com/uk/msdn/screencasts/screencast/253/Office-Open-XML-Document-Inspection.aspx</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Office Open XML Document Profiling]]></title>
<link>http://esersahin.wordpress.com/2008/12/12/office-open-xml-document-profiling/</link>
<pubDate>Fri, 12 Dec 2008 15:17:45 +0000</pubDate>
<dc:creator>esersahin</dc:creator>
<guid>http://esersahin.wordpress.com/2008/12/12/office-open-xml-document-profiling/</guid>
<description><![CDATA[http://www.microsoft.com/uk/msdn/screencasts/screencast/252/Office-Open-XML-Document-Profiling.aspx]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://www.microsoft.com/uk/msdn/screencasts/screencast/252/Office-Open-XML-Document-Profiling.aspx">http://www.microsoft.com/uk/msdn/screencasts/screencast/252/Office-Open-XML-Document-Profiling.aspx</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Office Open XML Content Controls and Repeating Data]]></title>
<link>http://esersahin.wordpress.com/2008/12/12/office-open-xml-content-controls-and-repeating-data/</link>
<pubDate>Fri, 12 Dec 2008 15:16:52 +0000</pubDate>
<dc:creator>esersahin</dc:creator>
<guid>http://esersahin.wordpress.com/2008/12/12/office-open-xml-content-controls-and-repeating-data/</guid>
<description><![CDATA[http://www.microsoft.com/uk/msdn/screencasts/screencast/261/Office-Open-XML-Content-Controls-and-Rep]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://www.microsoft.com/uk/msdn/screencasts/screencast/261/Office-Open-XML-Content-Controls-and-Repeating-Data-Part-1-of-3.aspx">http://www.microsoft.com/uk/msdn/screencasts/screencast/261/Office-Open-XML-Content-Controls-and-Repeating-Data-Part-1-of-3.aspx</a></p>
<div id="mediaplayer">
<div id="panelPlayer" class="panelPlayer">
<div><a href="http://www.microsoft.com/uk/msdn/screencasts/screencast/259/Office-Open-XML-Content-Controls-and-Repeating-Data-Part-2-of-3.aspx">http://www.microsoft.com/uk/msdn/screencasts/screencast/259/Office-Open-XML-Content-Controls-and-Repeating-Data-Part-2-of-3.aspx</a></div>
<div><a href="http://www.microsoft.com/uk/msdn/screencasts/screencast/260/Office-Open-XML-Content-Controls-and-Repeating-Data-Part-3-of-3.aspx">http://www.microsoft.com/uk/msdn/screencasts/screencast/260/Office-Open-XML-Content-Controls-and-Repeating-Data-Part-3-of-3.aspx</a></div>
</div>
</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Open XML Developer Workshop]]></title>
<link>http://esersahin.wordpress.com/2008/12/12/open-xml-developer-workshop/</link>
<pubDate>Fri, 12 Dec 2008 15:08:52 +0000</pubDate>
<dc:creator>esersahin</dc:creator>
<guid>http://esersahin.wordpress.com/2008/12/12/open-xml-developer-workshop/</guid>
<description><![CDATA[http://msdn.microsoft.com/en-us/office/bb738430.aspx]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://msdn.microsoft.com/en-us/office/bb738430.aspx">http://msdn.microsoft.com/en-us/office/bb738430.aspx</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Word Developer Portal]]></title>
<link>http://esersahin.wordpress.com/2008/12/12/word-developer-portal/</link>
<pubDate>Fri, 12 Dec 2008 15:05:50 +0000</pubDate>
<dc:creator>esersahin</dc:creator>
<guid>http://esersahin.wordpress.com/2008/12/12/word-developer-portal/</guid>
<description><![CDATA[http://msdn.microsoft.com/en-us/office/aa905482.aspx]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://msdn.microsoft.com/en-us/office/aa905482.aspx">http://msdn.microsoft.com/en-us/office/aa905482.aspx</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Creating an Open XML Document in .NET]]></title>
<link>http://esersahin.wordpress.com/2008/12/11/creating-an-open-xml-document-in-net/</link>
<pubDate>Thu, 11 Dec 2008 14:47:18 +0000</pubDate>
<dc:creator>esersahin</dc:creator>
<guid>http://esersahin.wordpress.com/2008/12/11/creating-an-open-xml-document-in-net/</guid>
<description><![CDATA[http://openxmldeveloper.org/articles/OpenXMLDocFromDotNet.aspx Article author: Sanjay Kumar Madhva, ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://openxmldeveloper.org/articles/OpenXMLDocFromDotNet.aspx">http://openxmldeveloper.org/articles/OpenXMLDocFromDotNet.aspx</a></p>
<div class="BlogPostContent">
<p><em>Article author: Sanjay Kumar Madhva, Sonata Software Limited</em></p>
<h2>Introduction</h2>
<p>The idea of this article is to show how easy it is to create an OpenXML WordprocessingML using .NET and using System.IO.Packaging provided by WinFx.</p>
<p>What we need, is to create a windows application that lets user enter multi line of text. The user is provided a button that on click creates a WordprocessingML. When the user clicks on the button all we need to code for, breaking the user entered text into paragraphs and creating an document.xml as shown below. Package it into an OpenXML document.</p>
<h2>Content of document.xml</h2>
<p><img src="http://www.mahugh.com/openxmldeveloper/txt2docx/document.jpg" border="0" alt="" align="center" />Here are twelve easy steps to create a word processing document like the one above and write it out as a valid Open XML document &#8230;</p>
<h3>Step 1. Create a new C# project.</h3>
<p>Create a new project “WordDocCreator” in a new solution.</p>
<p><img src="http://www.mahugh.com/openxmldeveloper/txt2docx/image1.png" border="0" alt="" align="center" /></p>
<h3>Step 2. Add reference to WindowsBase provided WinFx.</h3>
<p>Right click on the reference and form the pop up menu select “Add Reference”</p>
<p><img src="http://www.mahugh.com/openxmldeveloper/txt2docx/image2.png" border="0" alt="" align="center" />Add reference windows pops up. Select “Windows Base” from the .NET tab as shown in the fig below.</p>
<p><img src="http://www.mahugh.com/openxmldeveloper/txt2docx/image3.png" border="0" alt="" align="center" /></p>
<h3>Step 3. Add a Text box to the form</h3>
<p>Drag and drop TextBox from the ToolBox on to the form.</p>
<p><img src="http://www.mahugh.com/openxmldeveloper/txt2docx/image4.png" border="0" alt="" align="center" /></p>
<h3>Step 4. Change the textbox to accept MultiLine.</h3>
<p>Change the textbox property to accept multiline.</p>
<p><img src="http://www.mahugh.com/openxmldeveloper/txt2docx/image5.png" border="0" alt="" align="center" /></p>
<h3>Step 5. Resize the textbox</h3>
<p>Resize the textbox to fit to the screen.</p>
<p><img src="http://www.mahugh.com/openxmldeveloper/txt2docx/image6.png" border="0" alt="" align="center" /></p>
<h3>Step 6. Add two Buttons.</h3>
<p><img src="http://www.mahugh.com/openxmldeveloper/txt2docx/image7.png" border="0" alt="" align="center" /></p>
<h3>Step 7. Rename the text box, and the two buttons.</h3>
<ul>
<li>Change the forms title text to Document Creator</li>
<li>Rename the Text box to mleTextForDocument</li>
<li>Command button 1 to Exit and change the text to “E&#38;xit”</li>
<li>Command button 2 to GenerateDocument and change the text to “&#38;Generate Document”</li>
</ul>
<p><img src="http://www.mahugh.com/openxmldeveloper/txt2docx/image8.png" border="0" alt="" align="center" /></p>
<h3>Step 8. Code for close event of Exit button</h3>
<p>Double click on the exit button to generate the click event for the button add close() in the button clicked event as shown below.</p>
<p><span style="font-size:x-small;font-family:Courier New;">private void Exit_Click(object sender, EventArgs e)<br />
{<br />
close();<br />
}</span></p>
<h3>Step 9. Add <em>using</em> directive</h3>
<p><span style="font-size:x-small;font-family:Courier New;">using System.Xml;<br />
using System.IO;<br />
using System.IO.Packaging;</span></p>
<h3>Step 10. Create a method to get the save file name and path.</h3>
<p>We may have to create a file dialog that will accept a filename from the user. We can call the SaveFileDialog provided by the .net framework to get the directory and the name of the file in which the user wants to save the document content.</p>
<p>The code is as follows.</p>
<p><span style="font-size:x-small;font-family:Courier New;">//Get the file path where the user wants to save the document.<br />
private string GetSavePath()<br />
{<br />
SaveFileDialog sfd = new SaveFileDialog();<br />
sfd.AddExtension = true;<br />
//Get only Docx file<br />
sfd.Filter = &#8220;docx&#124;&#8221;;<br />
sfd.CheckPathExists = true;<br />
sfd.DefaultExt = &#8220;.docx&#8221;;<br />
sfd.ShowDialog();<br />
return sfd.FileName; // return the filename and the path<br />
}</span></p>
<h3>Step 11. Code for close event of GenerateDocument button</h3>
<p>The document creation can be achieved by following 5 easy steps:<br />
1. Take the text entered by the user in the multilane edit has to be split into paragraph and creating an “document.xml” as shown under “Content of document.xml”.<br />
2. Creating an instance of Package class<br />
3. Create the main document part (document.xml) using the package class.<br />
4. Create the relationship file.<br />
5. Close the document.</p>
<p><span style="font-size:x-small;font-family:Courier New;">private void GenerateDocument_Click(object sender, EventArgs e)<br />
{<br />
string _nameSpaceURI = &#8220;http://schemas.microsoft.com/office/word/2005/10/wordml&#8221;;<br />
string docFileName = GetSavePath();</p>
<p>//&#8211; Step 1 &#8211; Creating the document xml<br />
XmlDocument doc = new XmlDocument();<br />
XmlElement _wWordDoc = doc.CreateElement(&#8220;w:wordDocument&#8221;, _nameSpaceURI);<br />
doc.AppendChild (_wWordDoc);<br />
XmlElement _wbody = doc.CreateElement(&#8220;w:body&#8221;,_nameSpaceURI);<br />
_wWordDoc.AppendChild(_wbody);<br />
// Check if the string contains a line feed<br />
string[] _SplitStr = mleTextForDocument.Text.Split(&#8216;\n&#8217;);<br />
// if it contains line feed then each entry with a line feed goes to a new paragraph.<br />
for (int row = 0; row &#60; _SplitStr.Length; row++)<br />
{<br />
XmlElement _wp1 = doc.CreateElement(&#8220;w:p&#8221;,_nameSpaceURI);<br />
_wbody.AppendChild(_wp1);<br />
XmlElement _wr1 = doc.CreateElement(&#8220;w:r&#8221;, _nameSpaceURI);<br />
_wp1.AppendChild(_wr1);<br />
XmlElement _wt11 = doc.CreateElement(&#8220;w:t&#8221;, _nameSpaceURI);<br />
_wr1.AppendChild(_wt11);<br />
XmlNode _wt1 = doc.CreateNode(XmlNodeType.Text, &#8220;w:t&#8221;,_nameSpaceURI);<br />
_wt1.Value = _SplitStr[row];<br />
_wt11.AppendChild(_wt1);<br />
}</p>
<p>//&#8211; Step 2 &#8211; Creating the Package<br />
Package package = null;<br />
package = Package.Open(docFileName, FileMode.Create, FileAccess.ReadWrite);</p>
<p>//&#8211; Step 3 &#8211; Create the main document part (document.xml)<br />
Uri uri = new Uri(&#8220;/word/document.xml&#8221;, UriKind.Relative);<br />
PackagePart part = package.CreatePart(uri, &#8220;application/vnd.ms-word.main+xml&#8221;);<br />
StreamWriter partWrt = new StreamWriter(part.GetStream(FileMode.Create, FileAccess.Write));<br />
doc.Save(partWrt);<br />
partWrt.Close();<br />
package.Flush();</p>
<p>//&#8211; Step 4 &#8211; Create the relationship file<br />
uri = new Uri(&#8220;/word/document.xml&#8221;, UriKind.Relative);<br />
PackageRelationship rel = package.CreateRelationship(uri, TargetMode.Internal, &#8220;http://schemas.microsoft.com/office/2006/relationships/officeDocument&#8221;, &#8220;rId1&#8243;);<br />
package.Flush();</p>
<p>//&#8211; Step 5- Close the document.<br />
package.Close();<br />
}</span></p>
<h3>Step 12. Build and Run.</h3>
<p>From the Build menu select “Build WordDocument”</p>
<p><img src="http://www.mahugh.com/openxmldeveloper/txt2docx/image9.png" border="0" alt="" align="center" />To run with out debug, select “Start Without Debugging” under “Debug” menu or press Ctrl+F5.</p>
<p><img src="http://www.mahugh.com/openxmldeveloper/txt2docx/image10.png" border="0" alt="" align="center" />Application window appears.</p>
<p><img src="http://www.mahugh.com/openxmldeveloper/txt2docx/image11.png" border="0" alt="" align="center" />Key in some text and click on “Generate Document” button, a file dialog appears. Provide the file name and click save.</p>
<p><img src="http://www.mahugh.com/openxmldeveloper/txt2docx/image12.png" border="0" alt="" align="center" /><em>Note: remember the save in directory.</em></p>
<p>Open file explorer and go the above-specified directory. Double click on the document you just created.</p>
<p><img src="http://www.mahugh.com/openxmldeveloper/txt2docx/image13.png" border="0" alt="" align="center" />See the content you typed being displayed as a document &#8230;</p>
<p><img src="http://www.mahugh.com/openxmldeveloper/txt2docx/image14.png" border="0" alt="" align="center" /></div>
<div class="BlogPostFooter">Published Wednesday, April 12, 2006 4:39 PM by <a id="_ctl0____ctl0____ctl0__ctl0_bcr__ctl0___Entry___AuthorLink" href="http://esersahin.wordpress.com/user/Profile.aspx?UserID=2104">dmahugh</a><br />
Filed Under: <a id="_ctl0____ctl0____ctl0__ctl0_bcr__ctl0___Entry___Tags___Categories__ctl1_Link" rel="tag" href="http://openxmldeveloper.org/archive/category/1002.aspx">Open Packaging Convention</a>, <a id="_ctl0____ctl0____ctl0__ctl0_bcr__ctl0___Entry___Tags___Categories__ctl3_Link" rel="tag" href="http://openxmldeveloper.org/archive/category/1003.aspx">WordProcessingML</a>, <a id="_ctl0____ctl0____ctl0__ctl0_bcr__ctl0___Entry___Tags___Categories__ctl5_Link" rel="tag" href="http://openxmldeveloper.org/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</a><br />
<strong>Attachment(s): </strong><a id="_ctl0____ctl0____ctl0__ctl0_bcr__ctl0___Entry___Attachment___DownLoadLink" href="http://esersahin.wordpress.com/attachment/155.ashx">WordDocCreator.zip</a></div>
<div id="comments">
<h3>Comments</h3>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr valign="top">
<td class="Comment CommentAvatar"><img src="http://esersahin.wordpress.com/users/avatar.aspx?userid=2251" border="1" alt="" /> </td>
<td class="Comment CommentContent" width="100%">
<h4 class="CommentTitle"><a id="_ctl0____ctl0____ctl0__ctl0_bcr__ctl0___Comments___Comments__ctl1_NameLink" title="jkemmery">jkemmery</a> said:</h4>
<div class="CommentText">Excellent primer. Thank you.</div>
<div class="CommentFooter">April 14, 2006 10:33 AM</div>
</td>
</tr>
<tr valign="top">
<td class="Comment CommentAvatar"> </td>
<td class="Comment CommentContent" width="100%">
<h4 class="CommentTitle"><a id="_ctl0____ctl0____ctl0__ctl0_bcr__ctl0___Comments___Comments__ctl2_NameLink" title="planks">planks</a> said:</h4>
<div class="CommentText">I tried the example, it creates the .docx file and everything but when I tried to open it it displays an error that there are missing elements. When I see the files I notice that nothing is written in them, in the document.xml nor in the relationships file.</p>
<p>I also sent the output to be displayed in the console and it is doing it as it should so I think there&#8217;s something about file writing permissions, any ideas?</p></div>
<div class="CommentFooter">May 19, 2006 1:13 PM</div>
</td>
</tr>
<tr valign="top">
<td class="Comment CommentAvatar"> </td>
<td class="Comment CommentContent" width="100%">
<h4 class="CommentTitle"><a id="_ctl0____ctl0____ctl0__ctl0_bcr__ctl0___Comments___Comments__ctl3_NameLink" title="SanjayKumarM">SanjayKumarM</a> said:</h4>
<div class="CommentText">If you are using Office 2007 Beta2 then you may have to make the following changes to make tha application work<br />
1.<br />
Seach for-&#62;<br />
<a rel="nofollow" href="http://schemas.microsoft.com/office/word/2005/10/wordml" target="_new">http://schemas.microsoft.com/office/word/2005/10/wordml</a><br />
replace with-&#62;<br />
<a rel="nofollow" href="http://schemas.openxmlformats.org/wordprocessingml/2006/3/main" target="_new">http://schemas.openxmlformats.org/wordprocessingml/2006/3/main</a></p>
<p>2.<br />
Seach for-&#62; application/vnd.ms-word.main+xml<br />
replace with-&#62;<br />
application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml</p>
<p>3.<br />
Seach for-&#62;<br />
<a rel="nofollow" href="http://schemas.microsoft.com/office/2006/relationships/officeDocument" target="_new">http://schemas.microsoft.com/office/2006/relationships/officeDocument</a><br />
replace with-&#62;<br />
<a rel="nofollow" href="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" target="_new">http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument</a></div>
<div class="CommentFooter">May 24, 2006 4:46 AM</div>
</td>
</tr>
<tr valign="top">
<td class="Comment CommentAvatar"> </td>
<td class="Comment CommentContent" width="100%">
<h4 class="CommentTitle"><a id="_ctl0____ctl0____ctl0__ctl0_bcr__ctl0___Comments___Comments__ctl4_NameLink" title="SanjayKumarM">SanjayKumarM</a> said:</h4>
<div class="CommentText">Hi Planks.<br />
     The code was written for Office 2007 Beta1, I have also posted the changes to be made to make it workable for Beta 2.</p>
<p>     I have really tested the code it works, May be the version of WinFx or office 12 you are using may mot be the corrent one.</p>
<p>    If you want I can email the code to you.</p>
<p>Sanjay</p></div>
<div class="CommentFooter">May 24, 2006 4:49 AM</div>
</td>
</tr>
<tr valign="top">
<td class="Comment CommentAvatar"> </td>
<td class="Comment CommentContent" width="100%">
<h4 class="CommentTitle"><a id="_ctl0____ctl0____ctl0__ctl0_bcr__ctl0___Comments___Comments__ctl5_NameLink" title="radwagner" href="http://esersahin.wordpress.com/utility/Redirect.aspx?U=http%3a%2f%2fOpen+XML+sample%3f">radwagner</a> said:</h4>
<div class="CommentText">Sanjay,</p>
<p>I&#8217;m pleased to see your example as this is exactly what I&#8217;m looking for. However, when I open the document created by the sample in Office 12 Beta 2, I get &#8220;Elements and Attributes in restricted namespaces are not allowed&#8221;. Location: Part: /word/document.xml Line: 2, Column: 89. Other samples I&#8217;ve tried as posted give the same details.</p>
<p>Thanks,<br />
RW</p></div>
<div class="CommentFooter">May 30, 2006 10:33 AM</div>
</td>
</tr>
<tr valign="top">
<td class="Comment CommentAvatar"> </td>
<td class="Comment CommentContent" width="100%">
<h4 class="CommentTitle"><a id="_ctl0____ctl0____ctl0__ctl0_bcr__ctl0___Comments___Comments__ctl6_NameLink" title="ivofoi">ivofoi</a> said:</h4>
<div class="CommentText">I&#8217;m having problems with the code above. It does what I need, but when the .docx file is created and I try to open it, Word 2007 returns an error:<br />
&#8220;The Office Open XML file try.docx cannot be opened because there are problems with the contents.&#8221; and<br />
&#8220;Microsoft Office cannot open this file because some parts are missing or invalid.&#8221;.<br />
Can anyone help me with this problem?<br />
thx</div>
<div class="CommentFooter">April 3, 2007 11:11 AM</div>
</td>
</tr>
<tr valign="top">
<td class="Comment CommentAvatar"> </td>
<td class="Comment CommentContent" width="100%">
<h4 class="CommentTitle"><a id="_ctl0____ctl0____ctl0__ctl0_bcr__ctl0___Comments___Comments__ctl7_NameLink" title="ivofoi">ivofoi</a> said:</h4>
<div class="CommentText">Forgot to mention &#8211; I&#8217;m not using any beta version of MS Office, but the final version.</div>
<div class="CommentFooter">April 3, 2007 11:19 AM</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Learning Resources for Open XML SDK ]]></title>
<link>http://esersahin.wordpress.com/2008/12/11/learning-resources-for-open-xml-sdk/</link>
<pubDate>Thu, 11 Dec 2008 14:27:22 +0000</pubDate>
<dc:creator>esersahin</dc:creator>
<guid>http://esersahin.wordpress.com/2008/12/11/learning-resources-for-open-xml-sdk/</guid>
<description><![CDATA[https://connect.microsoft.com/content/content.aspx?SiteID=589&amp;ContentID=9924 1          The Open]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="https://connect.microsoft.com/content/content.aspx?SiteID=589&#38;ContentID=9924">https://connect.microsoft.com/content/content.aspx?SiteID=589&#38;ContentID=9924</a></p>
<p><span style="line-height:115%;font-family:Calibri,sans-serif;"><span><span style="font-size:large;"><strong><span style="font-size:18pt;color:#365f91;"><span style="font-family:Calibri;"></p>
<p style="line-height:normal;"><strong><span style="font-size:18pt;color:#365f91;"><span style="font-family:Calibri;">1</span></span></strong><strong><span style="font-size:7pt;color:#365f91;font-family:'Times New Roman',serif;">          </span></strong><span style="font-family:Calibri;"><strong><span style="font-size:18pt;color:#365f91;">The Open XML Standard</span></strong></span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://www.ecma-international.org/publications/standards/Ecma-376.htm"><span style="color:purple;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">Standard ECMA-376</span></span></a></span><span style="font-size:12pt;"><span style="font-family:Calibri;">, and </span><a href="http://www.ecma-international.org/news/TC45_current_work/TC45_available_docs.htm"><span style="color:blue;"><span style="font-family:Calibri;"><span style="text-decoration:underline;">Ecma TC45</span></span></span></a></span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=45515"><span style="color:blue;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">ISO/IEC DIS 29500</span></span></a></span></p>
<p style="line-height:normal;"><strong><span style="font-size:18pt;color:#365f91;"><span style="font-family:Calibri;">2</span></span></strong><strong><span style="font-size:7pt;color:#365f91;font-family:'Times New Roman',serif;">          </span></strong><span style="font-family:Calibri;"><strong><span style="font-size:18pt;color:#365f91;">SDK Team Resource</span></strong><strong> </strong></span></p>
<p style="line-height:normal;"><span style="font-size:12pt;"><span style="font-family:Calibri;">MSDN library for SDK version </span><a href="http://msdn.microsoft.com/en-us/library/bb226703.aspx"><span style="color:blue;"><span style="text-decoration:underline;"><span style="font-family:Calibri;">1.0</span></span></span></a><span style="font-family:Calibri;"> and </span><a href="http://msdn.microsoft.com/en-us/library/bb448854(office.14).aspx"><span style="color:purple;"><span style="text-decoration:underline;"><span style="font-family:Calibri;">2.0</span></span></span></a></span></p>
<p style="line-height:normal;"><span style="font-size:12pt;"><span style="font-family:Calibri;">Download page for SDK version </span><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AD0B72FB-4A1D-4C52-BDB5-7DD7E816D046&#38;displaylang=en"><span style="color:purple;"><span style="text-decoration:underline;"><span style="font-family:Calibri;">1.0</span></span></span></a><span style="font-family:Calibri;"> and </span><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c6e744e5-36e9-45f5-8d8c-331df206e0d0&#38;DisplayLang=en"><span style="color:purple;"><span style="text-decoration:underline;"><span style="font-family:Calibri;">2.0</span></span></span></a></span></p>
<p style="line-height:normal;"><span style="font-size:12pt;"><span style="font-family:Calibri;">Microsoft Connect: </span><a href="http://connect.microsoft.com/site/sitehome.aspx?SiteID=589"><span style="color:blue;"><span style="text-decoration:underline;"><span style="font-family:Calibri;">Open XML SDK</span></span></span></a></span></p>
<p style="line-height:normal;"><strong><span style="font-size:18pt;color:#365f91;"><span style="font-family:Calibri;">3</span></span></strong><strong><span style="font-size:7pt;color:#365f91;font-family:'Times New Roman',serif;">          </span></strong><span style="font-family:Calibri;"><strong><span style="font-size:18pt;color:#365f91;">Microsoft-wide Resource</span></strong><strong> </strong></span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://msdn.microsoft.com/en-us/office/aa905545.aspx"><span style="color:blue;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">XML in Office Developer Portal</span></span></a></span><span style="font-family:Calibri;"><span style="font-size:12pt;">: This portal contains technical articles, code samples, developer documentation, and multimedia presentations on working with XML in Office.</span> </span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://msdn.microsoft.com/en-us/office/aa905545.aspx"><span style="color:blue;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">Open XML Formats Resource Center</span></span></a></span><span style="font-family:Calibri;"><span style="font-size:12pt;">: This contains developer resources to help you get started generating and manipulating documents, workbooks, and presentations using the Open XML Formats.</span> </span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=46B6BF86-E35D-4870-B214-4D7B72B02BF9&#38;displaylang=en"><span style="color:blue;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">Microsoft Visual Studio Tools for the Office System Power Tools</span></span></a></span><span style="font-family:Calibri;"><span style="font-size:12pt;">: A set of developer tools that provide additional functionality useful in Office-based development.</span> </span></p>
<p style="line-height:normal;"><strong><span style="font-size:18pt;color:#365f91;"><span style="font-family:Calibri;">4</span></span></strong><strong><span style="font-size:7pt;color:#365f91;font-family:'Times New Roman',serif;">          </span></strong><span style="font-family:Calibri;"><strong><span style="font-size:18pt;color:#365f91;">Forum</span></strong><strong> </strong></span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://social.msdn.microsoft.com/Forums/en-US/oxmlsdk/threads/"><span style="color:blue;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">MSDN forum</span></span></a></span></p>
<p style="line-height:normal;"><strong><span style="font-size:18pt;color:#365f91;"><span style="font-family:Calibri;">5</span></span></strong><strong><span style="font-size:7pt;color:#365f91;font-family:'Times New Roman',serif;">          </span></strong><span style="font-family:Calibri;"><strong><span style="font-size:18pt;color:#365f91;">Blog</span></strong><strong> </strong></span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://blogs.msdn.com/ericwhite"><span style="color:blue;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">Erik White</span></span></a></span><span style="font-size:12pt;"><span style="font-family:Calibri;">, </span><a href="http://blogs.msdn.com/dmahugh/default.aspx"><span style="color:blue;"><span style="text-decoration:underline;"><span style="font-family:Calibri;">Doug Mahugh</span></span></span></a><span style="font-family:Calibri;">, </span><a href="http://blogs.msdn.com/brian_jones/"><span style="color:blue;"><span style="text-decoration:underline;"><span style="font-family:Calibri;">Brian Jones</span></span></span></a><span style="font-family:Calibri;">, </span><a href="http://blogs.technet.com/gray_knowlton/default.aspx"><span style="color:blue;"><span style="text-decoration:underline;"><span style="font-family:Calibri;">Gray Knowlton</span></span></span></a><span style="font-family:Calibri;">, </span><a href="http://osrin.net/tag/openxml/"><span style="color:blue;"><span style="text-decoration:underline;"><span style="font-family:Calibri;">Oliver Bell</span></span></span></a><span style="font-family:Calibri;">, </span><a href="http://blogs.msdn.com/jasonmatusow/"><span style="color:blue;"><span style="text-decoration:underline;"><span style="font-family:Calibri;">Jason Matusow</span></span></span></a></span></p>
<p style="line-height:normal;"><strong><span style="font-size:18pt;color:#365f91;"><span style="font-family:Calibri;">6</span></span></strong><strong><span style="font-size:7pt;color:#365f91;font-family:'Times New Roman',serif;">          </span></strong><span style="font-family:Calibri;"><strong><span style="font-size:18pt;color:#365f91;">Tech Site</span></strong><strong> </strong></span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://openxmldeveloper.org/default.aspx"><span style="color:blue;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">Openxmldeveloper</span></span></a></span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://www.openxmlcommunity.org/"><span style="color:blue;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">Openxmlcommunity</span></span></a></span></p>
<p style="line-height:normal;"><strong><span style="font-size:18pt;color:#365f91;"><span style="font-family:Calibri;">7</span></span></strong><strong><span style="font-size:7pt;color:#365f91;font-family:'Times New Roman',serif;">          </span></strong><span style="font-family:Calibri;"><strong><span style="font-size:18pt;color:#365f91;">3rd Party Software</span></strong><strong> </strong></span></p>
<p><span><a href="http://blogs.msdn.com/ericwhite/pages/PowerTools.aspx"><span style="font-size:11pt;color:blue;line-height:115%;"><span style="text-decoration:underline;"><span style="font-family:Calibri;">Powertools</span></span></span></a>: </span><span style="font-family:Calibri;"><span style="font-size:12pt;line-height:115%;">PowerTools for Open XML are sample source code and guidance for developers showing how to build PowerShell cmdlets to create and modify Office Open XML documents, and scripts to demonstrate the use of the cmdlets.</span> </span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://www.codeplex.com/ExcelPackage/"><span style="color:blue;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">ExcelPackage</span></span></a></span><span style="font-family:Calibri;"><span style="font-size:12pt;">: ExcelPackage provides server-side generation of Excel 2007 spreadsheets.</span> </span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://www.codeplex.com/PackageExplorer"><span style="color:blue;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">Open XML Package Explorer</span></span></a></span><span style="font-family:Calibri;"><span style="font-size:12pt;">: This tool allows full editing of Open XML packages, creating new packages and various other features.</span> </span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://blogs.msdn.com/pranavwagh/archive/2008/07/11/openxmldiff-vnxt-just-an-easy-way-of-doing-things.aspx"><span style="color:blue;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">OpenXmlDiff</span></span></a></span><span style="font-family:Calibri;"><span style="font-size:12pt;"> by Pranav Wagh: a simple and straightforward tool that generates a report of all the differences between two Open XML documents.</span> </span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://www.altova.com/features_office_2007.html"><span style="color:blue;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">XMLSpy</span></span></a></span><span style="font-family:Calibri;"><span style="font-size:12pt;">: XMLSpy provides powerful support for accessing, editing, transforming, and querying XML data saved in Microsoft® Office 2007 documents and other zipped files.</span> </span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://www.altova.com/features_OOXML_diffdog.html"><span style="color:blue;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">DiffDog</span></span></a></span><span style="font-family:Calibri;"><span style="font-size:12pt;">: This tool supports to diff/merge Office Open XML files and ZIP archives.</span> </span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://www.altova.com/products/stylevision/xslt_stylesheet_design_for_word2007_ooxml.html"><span style="color:blue;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">Stylevision</span></span></a></span><span style="font-family:Calibri;"><span style="font-size:12pt;">: Stylevision allows to graphically design and implement conformant DOCX output from XML and/or database data.</span> </span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://www.altova.com/products/mapforce/excel2007_ooxml_mapping.html"><span style="color:blue;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">Mapforce</span></span></a></span><span style="font-family:Calibri;"><span style="font-size:12pt;">: It auto-generates C# code that creates an Open XML spreadsheet.</span> </span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://www.openxml4j.org/"><span style="color:blue;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">openxml4j</span></span></a></span><span style="font-family:Calibri;"><span style="font-size:12pt;">: OpenXML4J is a Java library dedicated to the creation and manipulation of Office Open XML (ECMA-376) and OPC based documents (for example Office 2007 Word, Excel and PowerPoint documents).</span> </span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://www.codeplex.com/PHPExcel"><span style="color:blue;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">PHPExcel</span></span></a></span><span style="font-family:Calibri;"><span style="font-size:12pt;">: This project provides a set of classes for the PHP programming language, which allow you to write to Excel 2007 files and read from Excel 2007 files. This project is built around Microsoft&#8217;s OpenXML standard and PHP.</span> </span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://www.oxygenxml.com/"><span style="color:blue;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">&#60;oxygen/&#62;</span></span></a></span><span style="font-family:Calibri;"><span style="font-size:12pt;"> XML Editor: This editor allows you to extract, validate, edit and process the XML data stored in Office 2007 files and any other ZIP-based archive. Validation is done using the latest ECMA XML Schemas.</span> </span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://dev.plutext.org/trac/docx4all"><span style="color:blue;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">docx4all</span></span></a></span><span style="font-family:Calibri;"><span style="font-size:12pt;">: currently you can create, open, edit, and print simple docx on Windows, Linux and OSX (with latest Java). You can collaborate with people using the plutext Word 2007 add-in. Table support is on its way.</span> </span></p>
<p style="line-height:normal;"><strong><span style="font-size:18pt;color:#365f91;"><span style="font-family:Calibri;">8</span></span></strong><strong><span style="font-size:7pt;color:#365f91;font-family:'Times New Roman',serif;">          </span></strong><span style="font-family:Calibri;"><strong><span style="font-size:18pt;color:#365f91;">Related Techs</span></strong><strong> </strong></span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://msdn.microsoft.com/en-us/netframework/default.aspx"><span style="color:blue;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">.Net Framework</span></span></a></span><span style="font-size:12pt;"><span style="font-family:Calibri;"> 3.5, which includes </span><a href="http://msdn.microsoft.com/zh-cn/netframework/aa904594(en-us).aspx"><span style="color:blue;"><span style="text-decoration:underline;"><span style="font-family:Calibri;">LINQ</span></span></span></a><span style="font-family:Calibri;"> and </span><a href="http://msdn.microsoft.com/en-us/xml/default.aspx"><span style="color:blue;"><span style="text-decoration:underline;"><span style="font-family:Calibri;">XML</span></span></span></a><span style="font-family:Calibri;"> technology.</span></span></p>
<p style="line-height:normal;"><strong><span style="font-size:18pt;color:#365f91;"><span style="font-family:Calibri;">9</span></span></strong><strong><span style="font-size:7pt;color:#365f91;font-family:'Times New Roman',serif;">          </span></strong><span style="font-family:Calibri;"><strong><span style="font-size:18pt;color:#365f91;">Other resources</span></strong><strong> </strong></span></p>
<p style="line-height:normal;"><span><a href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC34.wmv"><span style="text-decoration:underline;"><span style="font-family:Calibri;"><span style="font-size:11pt;color:blue;">Open XML SDK </span><span style="font-size:11pt;color:blue;">Demo</span><span style="font-size:11pt;color:blue;"> On PDC2008</span></span></span></a>: <span style="font-size:small;">Open XML SDK V2 demo by Zeyad Rajabi on PDC2008 (size:178M).</span></span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://www.youtube.com/watch?v=t_FYHd234ng"><span style="text-decoration:underline;"><span style="color:purple;font-family:Calibri,sans-serif;">Open XML SDK V1 Technical Chat</span><span style="color:purple;font-family:Calibri,sans-serif;"> video</span></span></a></span><span style="font-family:Calibri;"><span style="font-size:12pt;">: Open XML SDK </span><span style="font-size:12pt;">V1 </span><span style="font-size:12pt;">demo and road map by Eric White and Zeyad Rajabi.</span> </span></p>
<p style="line-height:normal;"><span style="font-size:12pt;font-family:'Times New Roman',serif;"><a href="http://en.wikipedia.org/wiki/Microsoft_Office_Open_XML"><span style="color:blue;font-family:Calibri,sans-serif;"><span style="text-decoration:underline;">OpenXML in wikipedia</span></span></a></span></p>
<p></span></span></strong></p>
<p></span></span></span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Open XML SDK Articles]]></title>
<link>http://esersahin.wordpress.com/2008/12/11/open-xml-sdk-articles/</link>
<pubDate>Thu, 11 Dec 2008 14:24:00 +0000</pubDate>
<dc:creator>esersahin</dc:creator>
<guid>http://esersahin.wordpress.com/2008/12/11/open-xml-sdk-articles/</guid>
<description><![CDATA[https://connect.microsoft.com/content/contentlist.aspx?ContentTypeID=1&amp;SiteID=589&amp;wa=wsignin]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="https://connect.microsoft.com/content/contentlist.aspx?ContentTypeID=1&#38;SiteID=589&#38;wa=wsignin1.0">https://connect.microsoft.com/content/contentlist.aspx?ContentTypeID=1&#38;SiteID=589&#38;wa=wsignin1.0</a></p>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=10344">Creating Table in WordprocessingML</a><br />
V2 CTP1 Article</li>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=10331">Retrieving Custom Xml Data in WordprocessingML</a><br />
V2 CTP1 Article</li>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=10274">Reading Content Control Data in WordprocessingML</a><br />
V2 CTP1 Article</li>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=10156">Sample code: CreateTableWithDataSet</a><br />
V2 CTP1 sample code.</li>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=10155">Sample code: MoveParagraph</a><br />
V2 CTP1 sample code.</li>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=10153">Sample code: RetrieveContentInCustomXmlBlock</a><br />
V2 CTP1 sample code.</li>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=10152">Sample code: RetrieveSdtContentInDocx</a><br />
V2 CTP1 sample code.</li>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=10151">Sample code: SetFontToTextUnitInPresentation</a><br />
V2 CTP1 sample code.</li>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=10150">Sample code: EnumerateExternalHyperlinksInWord</a><br />
V2 CTP1 sample code.</li>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=10149">Sample code: SetRunFormatting</a><br />
V2 CTP1 sample code.</li>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=10148">Sample code: SetParagraphFormatting</a><br />
V2 CTP1 sample code.</li>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=10147">Sample code: ReplaceImage</a><br />
V2 CTP1 sample code.</li>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=10146">Sample code: ClearParagraphDirectFormatting</a><br />
V2 CTP1 sample code.</li>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=10145">Sample code: GetTextInParagraph</a><br />
V2 CTP1 sample code.</li>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=10144">Sample code: GetParagraphsInSection</a><br />
V2 CTP1 sample code.</li>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=10142">Sample code: DeleteSpreadsheetCellContent</a><br />
V2 CTP1 sample code.</li>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=10112">Sample code: ListWorksheets</a><br />
V2 CTP1 sample code.</li>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=10111">Sample code: SetShapeColor</a><br />
V2 CTP1 sample code.</li>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=10073">Sample code: CreateWordMLDocument</a><br />
V2 CTP1 sample code.</li>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=9924">Learning Resources for Open XML SDK</a><br />
This article lists all kinds of resources for Open XML Standard and SDK learners.</li>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=9521">Open XML SDK V2 Overview</a><br />
Open XML SDK V2 Overview</li>
<li><a href="http://esersahin.wordpress.com/content/content.aspx?SiteID=589&#38;ContentID=8628">Surveys</a><br />
Introduction to the active surveys on the homepage.</li>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft Launches New Open XML-interop Tools]]></title>
<link>http://ajaymatharu.wordpress.com/2008/12/10/microsoft-launches-new-open-xml-interop-tools/</link>
<pubDate>Wed, 10 Dec 2008 03:44:10 +0000</pubDate>
<dc:creator>Ajay Matharu</dc:creator>
<guid>http://ajaymatharu.wordpress.com/2008/12/10/microsoft-launches-new-open-xml-interop-tools/</guid>
<description><![CDATA[A group of vendors led by Microsoft and aimed at fostering interoperability between different docume]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>A group of vendors led by Microsoft and aimed at fostering interoperability between different document formats has unveiled several tools to help people translate among documents created in Open XML and documents that use other file formats.</p>
<p>During a meeting of the Document Interoperability Initiative (DII) in Brussels this week, Microsoft and other industry leaders unveiled three tools to translate documents in Open XML, an industry standard approved by the International Organization for Standardization (ISO) for document formats that Microsoft originally created for its Office productivity suite.</p>
<p>Open XML Document Viewer translates Open XML documents to an HTML (Hypertext Markup Language) Web page, allowing readability of those documents on Web browsers such as Mozilla Firefox. A Community Technology Preview (CTP) of the tool is available on Microsoft&#8217;s Codeplex site.</p>
<p>Another new tool unveiled at the meeting is the Open XML/ODF (Open Document Format) Translators Version 2.5, which improves translations between Open XML and ODF through templates and is available now on SourceForge as an add-in for Microsoft Office 2003, 2007 and XP.</p>
<p>Microsoft also has posted video demonstrations of these tools on YouTube. The Open XML Document Viewer video is available <a href="http://in.youtube.com/watch?v=NKSF6w0EK0s">here</a>, and the Open XML/ODF Translators demo is available <a href="http://in.youtube.com/watch?v=cKF1KYNY1uo">here</a>.</p>
<p>ODF is a document format that was approved by the ISO as a global technology standard before Open XML was. In fact, Microsoft&#8217;s decision to create Open XML and then submit it as a standard rather than support ODF was a controversial one, which led the company to create the DII in March as well as undertake other interoperability efforts around the format. The ISO eventually made Open XML an international standard in April after a long, controversial approval process.</p>
<p>DII brings global industry leaders and vendors together to identify, test and develop tools to overcome document-interoperability barriers, according to Microsoft.</p>
<p>Another interoperability tool the DII discussed in Brussels that is available now is the Apache POI Java SDK for Open XML, which allows people to read and write Microsoft Office Excel files using Java, according to information about the tool on the Apache Web site.</p>
<p>Even as Microsoft aims to promote more interoperability between Open XML and other file formats, another country has adopted ODF as a standard file format for its documents. On Wednesday Germany said its government agencies will be able to receive, read, send and edit ODF documents beginning no later than 2010, according to a press statement from the ODF Alliance, a group aimed at promoting the standard&#8217;s use.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Open XML Format SDK]]></title>
<link>http://esersahin.wordpress.com/2008/12/09/open-xml-format-sdk/</link>
<pubDate>Tue, 09 Dec 2008 16:22:10 +0000</pubDate>
<dc:creator>esersahin</dc:creator>
<guid>http://esersahin.wordpress.com/2008/12/09/open-xml-format-sdk/</guid>
<description><![CDATA[http://social.msdn.microsoft.com/Forums/en-US/oxmlsdk/threads/]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://social.msdn.microsoft.com/Forums/en-US/oxmlsdk/threads/">http://social.msdn.microsoft.com/Forums/en-US/oxmlsdk/threads/</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Preview Word files (docx) in HTML using ASP.NET, OpenXML and LINQ to XML]]></title>
<link>http://esersahin.wordpress.com/2008/12/09/preview-word-files-docx-in-html-using-aspnet-openxml-and-linq-to-xml/</link>
<pubDate>Tue, 09 Dec 2008 16:16:39 +0000</pubDate>
<dc:creator>esersahin</dc:creator>
<guid>http://esersahin.wordpress.com/2008/12/09/preview-word-files-docx-in-html-using-aspnet-openxml-and-linq-to-xml/</guid>
<description><![CDATA[http://blog.maartenballiauw.be/post/2008/01/11/Preview-Word-files-(docx)-in-HTML-using-ASPNET-OpenXM]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://blog.maartenballiauw.be/post/2008/01/11/Preview-Word-files-(docx)-in-HTML-using-ASPNET-OpenXML-and-LINQ-to-XML.aspx">http://blog.maartenballiauw.be/post/2008/01/11/Preview-Word-files-(docx)-in-HTML-using-ASPNET-OpenXML-and-LINQ-to-XML.aspx</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Walkthrough: Word 2007 XML Format]]></title>
<link>http://esersahin.wordpress.com/2008/12/09/walkthrough-word-2007-xml-format/</link>
<pubDate>Tue, 09 Dec 2008 14:37:55 +0000</pubDate>
<dc:creator>esersahin</dc:creator>
<guid>http://esersahin.wordpress.com/2008/12/09/walkthrough-word-2007-xml-format/</guid>
<description><![CDATA[http://msdn.microsoft.com/en-us/library/ms771890.aspx Erika Ehrli Microsoft Corporation June 2006 Ap]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://msdn.microsoft.com/en-us/library/ms771890.aspx">http://msdn.microsoft.com/en-us/library/ms771890.aspx</a></p>
<p>Erika Ehrli<br />
Microsoft Corporation</p>
<p>June 2006</p>
<p>Applies to:<br />
    Microsoft 2007 Office Suites<br />
    Microsoft Office Word 2007</p>
<p><strong>Summary</strong>: Walk through the new default file format for Microsoft Office Word 2007. Read detailed descriptions of the file format architecture, key components, and ways in which you can programmatically modify content. (22 printed pages)</p>
<h4 class="dtH1">Contents</h4>
<p><a href="http://esersahin.wordpress.com/wp-admin/#office2007wordfileformat_introduction"><span style="color:#0033cc;">Introduction</span></a><br />
<a href="http://esersahin.wordpress.com/wp-admin/#office2007wordfileformat_word2007documentpackage"><span style="color:#0033cc;">Word 2007 Document Packages</span></a><br />
<a href="http://esersahin.wordpress.com/wp-admin/#office2007wordfileformat_openpackagingconventionsforwordxmlfileformat"><span style="color:#0033cc;">Open Packaging Conventions for the Word XML Format</span></a><br />
<a href="http://esersahin.wordpress.com/wp-admin/#office2007wordfileformat_interpretingword2007files"><span style="color:#0033cc;">Interpreting Word 2007 Files</span></a><br />
<a href="http://esersahin.wordpress.com/wp-admin/#office2007wordfileformat_identifyingnonxmlpartsinaword2007document"><span style="color:#0033cc;">Identifying Non-XML Parts in Word 2007 Documents</span></a><br />
<a href="http://esersahin.wordpress.com/wp-admin/#office2007wordfileformat_separatingcontentfromthedocument"><span style="color:#0033cc;">Separating Content from Documents</span></a><br />
<a href="http://esersahin.wordpress.com/wp-admin/#office2007wordfileformat_understandingthedatastore"><span style="color:#0033cc;">Understanding the Data Store</span></a><br />
<a href="http://esersahin.wordpress.com/wp-admin/#office2007wordfileformat_walkthroughcreatingawordxmlformatfile"><span style="color:#0033cc;">Walkthrough: Creating a Word XML Format File</span></a><br />
<a href="http://esersahin.wordpress.com/wp-admin/#office2007wordfileformat_conclusion"><span style="color:#0033cc;">Conclusion</span></a></p>
<h2 class="dtH1"><a name="office2007wordfileformat_introduction"></a>Introduction</h2>
<p>Microsoft Office Word 2007 provides a new default file format called Microsoft Office Word XML Format (Word XML Format). This format is based on the <a id="ctl00_rs1_mainContentContainer_ctl01" href="http://www.microsoft.com/whdc/xps/xpspkg.mspx"><span style="color:#0033cc;">Open Packaging Conventions</span></a>, also used by the <a id="ctl00_rs1_mainContentContainer_ctl02" href="http://www.microsoft.com/whdc/xps/default.mspx"><span style="color:#0033cc;">XML Paper Specification</span></a> (XPS). The binary file format used in Microsoft Office 97 through Microsoft Office 2003 Editions is still available as a save format, but it is no longer the default when saving new documents.</p>
<p>Microsoft introduced XML into Microsoft Office XP in 1999 with SpreadsheetML in Microsoft Office Excel 2002. SpreadsheetML was a good start, but it did not provide full-fidelity. That is, it cannot describe every part of a spreadsheet. The next release of Microsoft Office products introduced WordprocessingML in Microsoft Office Word 2003. WordprocessingML was a huge step forward because it was the first full-fidelity XML file format provided by Microsoft Office. Using Microsoft Office 2003, you can parse WordprocessingML files and manipulate, update, or add data to them. However, a few limitations exist. For example, you must encode binary data (such as images) as text within the XML file itself, which increases file size when working with a document containing many images. Additionally, Word 2003 embeds all custom XML data directly into the WordprocessingML that describes the document. This can make the custom XML difficult to access and manipulate from external processes.</p>
<p>The new file format in Word 2007 solves these issues by dividing the file into <em>document parts</em>, each of which defines a part of the overall contents of the file. When you want to change something in the file, you can simply find the document part you want, such as the header, and edit it without accidentally modifying any of the other XML-based document parts. Similarly, all custom XML data is in its own part. Working with customer XML is now easier. This allows you to generate documents programmatically with less code. In addition to being more robust and making it easier to work with custom XML, the new file format is also much smaller than the binary file format. The new file format takes advantage of ZIP technology by using the Open Packaging Conventions. This article walks through the structure of a Word 2007 document in this new file format.</p>
<h2 class="dtH1"><a name="office2007wordfileformat_word2007documentpackage"></a>Word 2007 Document Packages</h2>
<p>The file format in Word 2007 consists of a compressed ZIP file, called a <em>package</em>. This package holds all of the content that is contained within the document. Using the package format decreases file size for Office documents because of the ZIP compression. The new format is also more robust to errors in transmission or handling. It allows you to manipulate the file contents using industry-standard ZIP-based tools. An easy way to look inside the new file format is to save a Word 2007 document in the new default format and rename the file with a .zip extension. Double-click the file to open and view its contents.</p>
<blockquote class="dtBlock"><p><strong class="le">Note</strong>   To understand the composition of a file based on Microsoft Office Open XML Formats (Office XML Formats), you may want to extract its parts. To open the file, it is assumed that you have a ZIP utility, such as WinZip, installed on your computer. To open a Word XML Format file in Word 2007:</p></blockquote>
<ol type="a">
<li>Create a temporary folder in which to store the file and its parts.</li>
<li>Save a Word document (containing text, pictures, and so forth) as a .docx file.</li>
<li>Add a .zip extension to the end of the file name.</li>
<li>Double-click the file. It will open in the ZIP utility. You can see the document parts that are included in the file.</li>
<li>Extract the parts to the folder that you created earlier.</li>
<li>Integrated ZIP compression reduces the file size by up to 75 percent. Files are further broken down into a modular file structure that makes data recovery more successful and enhances security. The new format segments files into components that you can manage and repair independently. Files created in the new format also have a distinctive file extension for each application, depending on the file type.
<p class="label"><strong>Table 1. File extensions for Word 2007 file types</strong></p>
<div class="tablediv">
<table class="dtTABLE" border="0" cellspacing="0">
<tbody>
<tr valign="top">
<th width="50%">Word 2007 File Types</th>
<th width="50%">Extension</th>
</tr>
<tr valign="top">
<td width="50%">Word 2007 XML Document</td>
<td width="50%">.docx</td>
</tr>
<tr valign="top">
<td width="50%">Word 2007 XML Macro-Enabled Document</td>
<td width="50%">.docm</td>
</tr>
<tr valign="top">
<td width="50%">Word 2007 XML Template</td>
<td width="50%">.dotx</td>
</tr>
<tr valign="top">
<td width="50%">Word 2007 XML Macro-Enabled Template</td>
<td width="50%">.dotm</td>
</tr>
</tbody>
</table>
</div>
</li>
</ol>
<h2 class="dtH1"><a name="office2007wordfileformat_openpackagingconventionsforwordxmlfileformat"></a>Open Packaging Conventions for the Word XML Format</h2>
<p>The Open Packaging Conventions specification defines the structure of Word 2007 documents using the new file format. For more information about open packaging conventions, see the <a id="ctl00_rs1_mainContentContainer_ctl03" href="http://www.microsoft.com/whdc/xps/xpspkg.mspx"><span style="color:#0033cc;">Open Packaging Conventions</span></a> also used by the <a id="ctl00_rs1_mainContentContainer_ctl04" href="http://www.microsoft.com/whdc/xps/default.mspx"><span style="color:#0033cc;">XML Paper Specification</span></a>.</p>
<p>To understand the structure of a Word 2007 document, you must understand the three major components of the new file format:</p>
<ul type="disc">
<li><strong class="le">Part items.</strong> Each part item corresponds to one file in the un-zipped package. For example, if you right-click a Microsoft Office Excel workbook and choose to extract it, you see a workbook.xml file, several sheet<strong><em>n</em></strong>.xml files, and other files. Each of those files is a document part in the package.</li>
<li><strong class="le">Content Type items.</strong> Content type items describe what file types are stored in a document part. For example, <strong>image/jpeg</strong> denotes a JPEG image. This information enables Microsoft Office, and third-party tools, to determine the contents of any part in the package and to process its contents accurately.</li>
<li><strong class="le">Relationship items.</strong> Relationship items specify how the collection of document parts come together to form a document. This method specifies the connection between a source part and a target resource. Relationships are stored within XML parts in the document package, for example, /_rels/.rels.</li>
</ul>
<p>The following sections explain how each of these components fit together in an Office XML Formats file.</p>
<h3 class="dtH1">Word 2007 Document Parts</h3>
<p>To facilitate construction, assembly, and reuse of Word 2007 documents by third-party processes and tools, Word divides the contents of the package into several logical parts that each store a specific document part, for example:</p>
<ul type="disc">
<li>Comments</li>
<li>Style definitions</li>
<li>List definitions</li>
<li>Headers</li>
<li>Charts</li>
<li>Diagrams</li>
<li>The main document body</li>
<li>Images</li>
</ul>
<p>Word represents each of these document parts with an individual file within the package. These parts can consist of XML files, such as the document parts that contain the markup for the Word XML Format, as well as attached contents, such as pictures or OLE–embedded files in their native format. All of these are contained within the package. However, it is important to note that, with a few exceptions defined within the Open Packaging Conventions, the actual file directory structure is arbitrary.</p>
<p>The relationships of the files within the package, not the file structure, are what determine file validity. You can rearrange and rename the parts of a Word file inside its ZIP container, provided that you update the relationships properly so that the document parts continue to relate to one another as designed. If the relationships are accurate, the file opens without error. The initial file structure in a file in Word 2007 is simply the default structure created by Word to enable you to determine the file composition easily. Provided that you keep the relationships current, you can change this file structure.</p>
<p>For example, in Word 2007, the container file represents a document. Within the container file, there are parts that, when aggregated, compose the document. For example, a Word 2007 file could contain (but is not limited to) the following folders and files:</p>
<ul type="disc">
<li><strong class="le">[Content_Types].xml.</strong> Describes the content type for each part that appears in the file.</li>
<li><strong class="le">_rels folder.</strong> Stores the relationship part for any given part.</li>
<li><strong class="le">.rels file.</strong> Describes the relationships that begin the document structure. Called a <em>relationship part</em>.</li>
<li><strong class="le">datastore folder.</strong> Contains custom XML data parts within the document. A custom XML data part is an XML file from which you can bind nodes to content controls in the document.</li>
<li><strong class="le">item1.xml file.</strong> Contains some of the data that appears in the document. Example of a custom XML data part.</li>
<li><strong class="le">docProps folder.</strong> Contains the application&#8217;s properties parts.</li>
<li><strong class="le">App.xml file.</strong> Contains application-specific properties.</li>
<li><strong class="le">Core.xml file.</strong> Contains common file properties for all files based on the Open Packaging Conventions document format.</li>
</ul>
<p>Figure 1 shows the file structure of a sample Word 2007 document.</p>
<p class="fig"> </p>
<p><img src="http://i.msdn.microsoft.com/ms771890.Office2007WordFileFormat_Fig01(en-us,office.12).gif" border="0" alt="Hierarchical file structure of a typical Word 2007 document" /></p>
<p class="label"><strong>Figure 1. Hierarchical file structure of a typical Word 2007 document</strong></p>
<p>You can replace entire document parts in order to change the content, properties, or formatting of Word 2007 documents.</p>
<h3 class="dtH1">Word 2007 Content Types</h3>
<p>As mentioned previously, each document part has a specific <em>content type</em>. The content type of a part describes the contents of that file type. In the case of the XML parts that contain the markup defined by the Word XML Format, the content type can help you determine its composition.</p>
<p>A typical content type begins with the word <code class="ce">application</code> and is followed by the vendor name. In the content type, the word <strong>vendor</strong> is abbreviated to <code class="ce">vnd</code>. All content types that are specific to Word begin with <code class="ce">application/vnd.ms-word</code>. If a content type is an XML file, then the URI ends with <code class="ce">+xml</code>. Other non-XML content types, such as images, do not have this addition. Some typical content types are:</p>
<ul type="disc">
<li><code class="ce">application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml</code>Content type for a document part that describes endnotes within a Word document. The <code>+xml</code> indicates that it is an XML file.</li>
<li><code class="ce">application/vnd.openxmlformats-package.core-properties+xml</code>Content type for a part that describes the core document properties. The <code>+xml</code><em> </em>indicates that it is an XML file.</li>
<li><code class="ce">image/png</code>Content type for an image. The <code>+xml</code> portion is not present—this indicates that this content type is not an XML file.</li>
</ul>
<p>You can use all of these content types when manipulating the contents of a Word 2007 file programmatically. The <a id="ctl00_rs1_mainContentContainer_ctl05" href="http://www.microsoft.com/downloads/details.aspx?familyid=13f8e273-f5ea-4b7b-b022-97755838db94&#38;displaylang=en"><span style="color:#0033cc;">Microsoft Windows Software Development Kit (SDK) for Beta 2 of Windows Vista and WinFX Runtime Components</span></a> includes the <strong>System.IO.Packaging</strong> namespace, which allows you to add document parts, retrieve and update contents, or create relationships programmatically. For example, using the Microsoft WinFX <strong>System.IO.Packaging</strong> class, you can create a document part with the <strong>PackagePart.CreatePart</strong> method. The <strong>CreatePart</strong> method takes two string parameters; one for the URI of the new part and one for the content type of the part, as follows:</p>
<div id="ctl00_rs1_mainContentContainer_ctl06_">
<div class="CodeSnippetTitleBar">
<div class="CopyCodeButton"><a class="copyCode" href="CopyCode('ctl00_rs1_mainContentContainer_ctl06');"><img class="LibC_copy_off" src="http://i.msdn.microsoft.com/Global/Images/clear.gif" border="0" alt="" height="9" align="middle" /><span style="color:#0000ff;"> Copy Code</span></a></div>
</div>
<div dir="ltr">
<pre class="libCScode">PackagePart packageNewPart = package.CreatePart(uriResourceTarget,
"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml");</pre>
</div>
</div>
<p>This code example creates a document part using the URI stored in the <em>uriResourceTarget</em> variable with a content type used for styles.</p>
<p>For more information about <strong>PackageParts</strong>, see the <a id="ctl00_rs1_mainContentContainer_ctl07" href="http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref12/html/t_system_io_packaging_packagepart.asp"><span style="color:#0033cc;">PackagePart Class</span></a> reference documentation in the Microsoft Windows SDK.</p>
<h4 class="dtH1">Locating Content Types</h4>
<p>This section contains a list of the most frequently encountered content types. Word 2007 describes each content type by a file or part, inside the package. The [Content_Types].xml file, at the root of the package, lists every part in the file and its <strong>ContentType</strong> object. For example, you might see something like this:</p>
<div id="ctl00_rs1_mainContentContainer_ctl08_">
<div class="CodeSnippetTitleBar">
<div class="CopyCodeButton"><a class="copyCode" href="CopyCode('ctl00_rs1_mainContentContainer_ctl08');"><img class="LibC_copy_off" src="http://i.msdn.microsoft.com/Global/Images/clear.gif" border="0" alt="" height="9" align="middle" /><span style="color:#0000ff;"> Copy Code</span></a></div>
</div>
<div dir="ltr">
<pre class="libCScode">&#60;?xml version="1.0" encoding="UTF-8" standalone="yes"?&#62;
&#60;Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"&#62;
   &#60;Override PartName="/word/footnotes.xml" ContentType=
   "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml"/&#62;
   &#60;Default Extension="png" ContentType="image/png"/&#62;
   &#60;Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/&#62;
   &#60;Default Extension="xml" ContentType="application/xml"/&#62;
   &#60;Override PartName="/word/document.xml" ContentType=
   "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"/&#62;
   &#60;Override PartName="/word/numbering.xml" ContentType=
   "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml"/&#62;
   &#60;Override PartName="/word/styles.xml" ContentType=
   "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml"/&#62;
   &#60;Override PartName="/word/endnotes.xml" ContentType=
   "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml"/&#62;
   &#60;Override PartName="/docProps/app.xml" ContentType=
   "application/vnd.openxmlformats-officedocument.extended-properties+xml"/&#62;
   &#60;Override PartName="/word/settings.xml" ContentType=
   "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml"/&#62;
   &#60;Override PartName="/word/footer2.xml" ContentType=
   "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml"/&#62;
   &#60;Override PartName="/docProps/custom.xml" ContentType=
   "application/vnd.openxmlformats-officedocument.custom-properties+xml"/&#62;
   &#60;Override PartName="/word/footer1.xml" ContentType=
   "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml"/&#62;
   &#60;Override PartName="/word/theme/theme1.xml" ContentType=
   "application/vnd.openxmlformats-officedocument.theme+xml"/&#62;
   &#60;Override PartName=
   "/word/fontTable.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml"/&#62;
   &#60;Override PartName=
   "/word/webSettings.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml"/&#62;
   &#60;Override PartName="/word/header1.xml" ContentType=
   "application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml"/&#62;
   &#60;Override PartName="/docProps/core.xml" ContentType=
   "application/vnd.openxmlformats-package.core-properties+xml"/&#62;
&#60;/Types&#62;</pre>
</div>
</div>
<p>You can rename and rearrange all of these parts within the directory structure. The parts are listed here in their default locations with their default names to make it as easy as possible to understand what they are.</p>
<p>Inside the Word directory, off the root of the package, is the majority of the information describing the document. In this directory, you may find parts that represent a number of available content types.</p>
<h4 class="dtH1">Mapping Document Parts with Content Types</h4>
<p>Every XML file in the file format is a document part. If you look inside the newly-formatted file of most Word files, within the directory structure you see files, or document parts, like <code class="ce">/word/fontTable.xml</code> and <code class="ce">word/styles.xml</code>. These files contain clear names that indicate their purpose (for example, font table and style parts). However, you can also change their names. Therefore, inside the [ContentTypes].xml file is a &#60;<code class="ce">Types</code>&#62; element that maps each content part with its respective content type. A [ContentTypes].xml file might consist of something like this:</p>
<div id="ctl00_rs1_mainContentContainer_ctl09_">
<div class="CodeSnippetTitleBar">
<div class="CopyCodeButton"><a class="copyCode" href="CopyCode('ctl00_rs1_mainContentContainer_ctl09');"><img class="LibC_copy_off" src="http://i.msdn.microsoft.com/Global/Images/clear.gif" border="0" alt="" height="9" align="middle" /><span style="color:#0000ff;"> Copy Code</span></a></div>
</div>
<div dir="ltr">
<pre class="libCScode">&#60;Override PartName="/word/styles.xml" ContentType=
   "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml"/&#62;
&#60;Override PartName=
   "/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/&#62;</pre>
</div>
</div>
<p>This indicates that the <code class="ce">/word/styles.xml</code> document part has a content type of <code class="ce">/vnd.openxmlformats-package.core-properties+xml</code>. The <code class="ce">/docProps/core.xml</code> document part has a content type of <code class="ce">application/vnd.openxmlformats-package.core-properties+xml</code>.</p>
<h3 class="dtH1">Relationships Between Document Parts</h3>
<p>Relationships are one of the most important parts of the package because they record the connections between document parts. You can rename and move parts within the package&#8217;s directory structure, but the relationships must remain intact to keep the file valid.</p>
<p>A relationship is a logical connection between two parts within the file package. For example, the root document part has a relationship of type <code class="ce">http://schemas.openxmlformats.org/package/2006/relationships/header</code> to a part with the content type <code class="ce">application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml</code>. This indicates the relationship between the parts is that the target part is a header for the originating part. Furthermore, the content type indicates that the contents are a Word 2007 header. This header part could then have its own relationships. For example, if the header contained a JPEG image, the header might have a relationship of type <code class="ce">http://schemas.openxmlformats.org/officeDocument/2006/relationships/image</code><strong> </strong>to a part with the content type <code class="ce">image/jpeg</code>.</p>
<p>Within the package, relationships are always located inside a directory titled <strong>_rels</strong>. To find the relationships originating from any part, look for the _rels folder that is a sibling of that part. If the part has relationships, the _rels folder contains a file that has your original part name with a .rels extension appended to it. For example, suppose you want to see if a relationship exists for the officeDocument part, which has a content type of <code class="ce">http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument</code>. By default, this part has a URI of <code class="ce">/word/document.xml</code>, so you would open the directory <code class="ce">/word/_rels</code> in the package and look for a file called <code class="ce">document.xml.rels</code>.</p>
<p>Every relationship has a source and a target. The source is the part after which the relationship is named. For example, all relationships inside <code class="ce">document.xml.rels</code> have <code class="ce">document.xml</code> as their source. Each .rels file contains a &#60;<code class="ce">relationships</code>&#62; element, inside which you find a &#60;relationship&#62; element for each target relationship containing the target relationship&#8217;s id, it&#8217;s target part, and the target part&#8217;s content type. A typical &#60;<code class="ce">relationships</code>&#62; element inside a document.xml.rels file might look like this:</p>
<div id="ctl00_rs1_mainContentContainer_ctl10_">
<div class="CodeSnippetTitleBar">
<div class="CopyCodeButton"><a class="copyCode" href="CopyCode('ctl00_rs1_mainContentContainer_ctl10');"><img class="LibC_copy_off" src="http://i.msdn.microsoft.com/Global/Images/clear.gif" border="0" alt="" height="9" align="middle" /><span style="color:#0000ff;"> Copy Code</span></a></div>
</div>
<div dir="ltr">
<pre class="libCScode">&#60;?xml version="1.0" encoding="UTF-8" standalone="yes"?&#62;
&#60;Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"&#62;
   &#60;Relationship Id="rId3" Type=
   "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target=
   "docProps/app.xml"/&#62;
   &#60;Relationship Id="rId2" Type=
   "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target=
   "docProps/core.xml"/&#62;
   &#60;Relationship Id="rId1" Type=
   "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target=
   "word/document.xml"/&#62;
   &#60;Relationship Id="rId4" Type=
   "http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties" Target=
   "docProps/custom.xml"/&#62;
&#60;/Relationships&#62;</pre>
</div>
</div>
<p>Notice that each relationship element first specifies the relationship id, then the content type of the target, and finally the target document part.</p>
<h2 class="dtH1"><a name="office2007wordfileformat_interpretingword2007files"></a>Interpreting Word 2007 Files</h2>
<p>This section walks you through the main set of document parts in a Word 2007 file that uses the new file format. It also outlines the relationships between these parts as presented using the default directory structure.</p>
<h4 class="dtH1">Understanding Root–Level Relationships</h4>
<p>The first part of any file that uses the Word XML Format is a <em>virtual</em> document part, or the package itself, called the <em>start part</em>. From this start part, there are relationships to several top-level parts, which describe the contents of the document:</p>
<p class="label"><strong>Table 2. Root-level parts, relationships, and content types</strong></p>
<div class="tablediv">
<table class="dtTABLE" border="0" cellspacing="0">
<tbody>
<tr valign="top">
<th width="22%">Part Name</th>
<th width="31%">Relationship Type</th>
<th width="26%">Content Type</th>
<th width="21%">Optional?</th>
</tr>
<tr valign="top">
<td width="22%">Core Document Properties (as defined in the Open Packaging Conventions)</td>
<td width="31%"><code class="ce">http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties</code></td>
<td width="26%"><code class="ce">application/vnd.openxmlformats-package.core-properties+xml</code></td>
<td width="21%">Yes</td>
</tr>
<tr valign="top">
<td width="22%">Application-Specific Document Properties</td>
<td width="31%"><code class="ce">http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties</code></td>
<td width="26%"><code class="ce">application/vnd.openxmlformats-officedocument.extended-properties +xml</code></td>
<td width="21%">Yes</td>
</tr>
<tr valign="top">
<td width="22%">Custom OLE Document Properties</td>
<td width="31%"><code class="ce">http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties</code></td>
<td width="26%"><code class="ce">application/vnd.openxmlformats-officedocument.custom-properties +xml</code></td>
<td width="21%">Yes</td>
</tr>
<tr valign="top">
<td width="22%">Main Document Part</td>
<td width="31%"><code class="ce">http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument</code></td>
<td width="26%"><code class="ce">application/vnd.openxmlformats-officedocument.wordprocessingml.main+xml</code></td>
<td width="21%">No</td>
</tr>
</tbody>
</table>
</div>
<p>These four default parts contain the primary document properties, as well as a reference to the root part for the document, that is, the main document body content.</p>
<h4 class="dtH1">Understanding Document–Level Relationships</h4>
<p>From the main document part, there is a set of relationships to the document parts referred to by the main document, as shown in Table 3.</p>
<p>Note that most relationships below are prefixed with the following:</p>
<div id="ctl00_rs1_mainContentContainer_ctl11_">
<div class="CodeSnippetTitleBar">
<div class="CopyCodeButton"><a class="copyCode" href="CopyCode('ctl00_rs1_mainContentContainer_ctl11');"><img class="LibC_copy_off" src="http://i.msdn.microsoft.com/Global/Images/clear.gif" border="0" alt="" height="9" align="middle" /><span style="color:#0000ff;"> Copy Code</span></a></div>
</div>
<div dir="ltr">
<pre class="libCScode">http://schemas.openxmlformats.org/officeDocument/2006/relationships/</pre>
</div>
</div>
<p class="label"><strong>Table 3. Document-level parts, relationships, and content types</strong></p>
<div class="tablediv">
<table class="dtTABLE" border="0" cellspacing="0">
<tbody>
<tr valign="top">
<th width="22%">Part Name</th>
<th width="15%">Relationship Type</th>
<th width="51%">Content Type</th>
<th width="12%">Optional?</th>
</tr>
<tr valign="top">
<td width="22%">Style Definitions</td>
<td width="15%"><code class="ce">/styles</code></td>
<td width="51%"><code class="ce">application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml</code></td>
<td width="12%">Yes</td>
</tr>
<tr valign="top">
<td width="22%">List Definitions</td>
<td width="15%"><code class="ce">/lists</code></td>
<td width="51%"><code class="ce">application/vnd.openxmlformats-officedocument.wordprocessingml.listDefs+xml</code></td>
<td width="12%">Yes</td>
</tr>
<tr valign="top">
<td width="22%">Document Settings</td>
<td width="15%"><code class="ce">/settings</code></td>
<td width="51%"><code class="ce">application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml</code></td>
<td width="12%">Yes</td>
</tr>
<tr valign="top">
<td width="22%">Headers</td>
<td width="15%"><code class="ce">/header</code></td>
<td width="51%"><code class="ce">application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml</code></td>
<td width="12%">Yes</td>
</tr>
<tr valign="top">
<td width="22%">Footers</td>
<td width="15%"><code class="ce">/footer</code></td>
<td width="51%"><code class="ce">application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml</code></td>
<td width="12%">Yes</td>
</tr>
<tr valign="top">
<td width="22%">Footnotes</td>
<td width="15%"><code class="ce">/footnotes</code></td>
<td width="51%"><code class="ce">application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml</code></td>
<td width="12%">Yes</td>
</tr>
<tr valign="top">
<td width="22%">Endnotes</td>
<td width="15%"><code class="ce">/endnotes</code></td>
<td width="51%"><code class="ce">application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml</code></td>
<td width="12%">Yes</td>
</tr>
<tr valign="top">
<td width="22%">Image(s)</td>
<td width="15%"><code class="ce">/image</code></td>
<td width="51%"><code class="ce">image/[image extension], such as image/png or image/jpeg</code></td>
<td width="12%">Yes</td>
</tr>
<tr valign="top">
<td width="22%">Comments</td>
<td width="15%"><code class="ce">/comments</code></td>
<td width="51%"><code class="ce">application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml</code></td>
<td width="12%">Yes</td>
</tr>
<tr valign="top">
<td width="22%">Font Table</td>
<td width="15%"><code class="ce">/fontTable</code></td>
<td width="51%"><code class="ce">application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml</code></td>
<td width="12%">Yes</td>
</tr>
<tr valign="top">
<td width="22%">Custom XML Items</td>
<td width="15%"><code class="ce">/customXML</code></td>
<td width="51%"><code class="ce">application/xml</code></td>
<td width="12%">Yes</td>
</tr>
<tr valign="top">
<td width="22%">Web Settings</td>
<td width="15%"><code class="ce">/webSettings</code></td>
<td width="51%"><code class="ce">application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml</code></td>
<td width="12%">Yes</td>
</tr>
</tbody>
</table>
</div>
<p>This list of parts is not complete. For example, it does not include shared parts such as OLE objects, Microsoft ActiveX controls, and digital signatures. However, it does provide insight into the typical Word XML Format structure in Word 2007.</p>
<h4 class="dtH1">Identifying the Package URI and Content Type Names</h4>
<p>As described previously, programmatically, you can use a URI to refer to all of the relationships and almost all of the document parts. There are two types of URIs: one for document parts and another for relationships.</p>
<p>In the new Word XML Format, relationship URIs usually begin with the following:</p>
<div id="ctl00_rs1_mainContentContainer_ctl12_">
<div class="CodeSnippetTitleBar">
<div class="CopyCodeButton"><a class="copyCode" href="CopyCode('ctl00_rs1_mainContentContainer_ctl12');"><img class="LibC_copy_off" src="http://i.msdn.microsoft.com/Global/Images/clear.gif" border="0" alt="" height="9" align="middle" /><span style="color:#0000ff;"> Copy Code</span></a></div>
</div>
<div dir="ltr">
<pre class="libCScode">http://schemas.openxmlformats.org/officeDocument/2006/relationships/</pre>
</div>
</div>
<p>For example, note the relationship-type used for application-level properties:</p>
<div id="ctl00_rs1_mainContentContainer_ctl13_">
<div class="CodeSnippetTitleBar">
<div class="CopyCodeButton"><a class="copyCode" href="CopyCode('ctl00_rs1_mainContentContainer_ctl13');"><img class="LibC_copy_off" src="http://i.msdn.microsoft.com/Global/Images/clear.gif" border="0" alt="" height="9" align="middle" /><span style="color:#0000ff;"> Copy Code</span></a></div>
</div>
<div dir="ltr">
<pre class="libCScode">http://schemas.openxmlformats.org/officeDocument/2006/relationships/
/extended-properties</pre>
</div>
</div>
<p>This URI includes the word <code class="ce">officeDocument</code> because the Open XML File Formats convention dictates these relationships.</p>
<p>The exceptions are relationship-types that begin with a base of <code class="ce">http://schemas.openxmlformats.org/package/2006/relationships/</code>. Notice that this base uses the word <code class="ce">package</code> instead of <code class="ce">officeDocument</code>, indicating that it conforms to the XPS Open Packaging Convention. One such relationship-type that uses this prefix in its URI is the following:</p>
<div id="ctl00_rs1_mainContentContainer_ctl14_">
<div class="CodeSnippetTitleBar">
<div class="CopyCodeButton"><a class="copyCode" href="CopyCode('ctl00_rs1_mainContentContainer_ctl14');"><img class="LibC_copy_off" src="http://i.msdn.microsoft.com/Global/Images/clear.gif" border="0" alt="" height="9" align="middle" /><span style="color:#0000ff;"> Copy Code</span></a></div>
</div>
<div dir="ltr">
<pre class="libCScode">http://schemas.openxmlformats.org/package/2006/relationships/
metadata/core-properties</pre>
</div>
</div>
<p>This URI describes properties specific to the file. Relationship URIs are predefined. You cannot change them.</p>
<p>URIs for document parts point to the document part inside the package. For example, the default URI for the document part containing the main information about the document is <code class="ce">/word/document.xml</code>. This indicates that the main document information is contained in a file called <code class="ce">document.xml</code> inside a folder called <code class="ce">word</code> off the root of the package. You can rename and move document parts inside the package, thereby changing the URI for the document part. It is very important to update the relationships when renaming or relocating document parts inside the package.</p>
<h2 class="dtH1"><a name="office2007wordfileformat_identifyingnonxmlpartsinaword2007document"></a>Identifying Non-XML Parts in Word 2007 Documents</h2>
<p>All embedded parts in a Word 2007 document are in their native, default Word XML Format. Therefore, if you add a picture to a document, you can rename the document with a .zip extension, and open it as you would any ZIP file. Within the package, you can locate the picture and open it as well. If the picture is in a .png format, you can see and open a .png file directly from the package.</p>
<p>Similarly, if you embed a Microsoft Office Visio document inside a Word 2007 document, you can locate the file as a .bin file inside the package.</p>
<p>This creates many possibilities for developers with files stored on a server. Consider the scenario where a company has hundreds of documents on a server that all contain the same corporate logo image. If the corporate logo changes, you can implement a simple script to replace the old logo with the new logo for every document.</p>
<p>The default location for images in a package is the <code class="ce">/word/media</code> directory and the default location for embedded objects in a package is <code class="ce">/word/embeddings</code>.</p>
<p>Figure 2 shows the directory structure for a document that contains images and embedded objects.</p>
<p class="fig"> </p>
<p><img src="http://i.msdn.microsoft.com/ms771890.Office2007WordFileFormat_Fig02(en-us,office.12).gif" border="0" alt="Hierarchical file structure of a Word 2007 document containing images and embedded objects " /></p>
<p class="label"><strong>Figure 2. Hierarchical file structure of a Word 2007 document containing images and embedded objects</strong></p>
<h2 class="dtH1"><a name="office2007wordfileformat_separatingcontentfromthedocument"></a>Separating Content from Documents</h2>
<p>The document part that maps to the content type specified by the following URI:</p>
<div id="ctl00_rs1_mainContentContainer_ctl15_">
<div class="CodeSnippetTitleBar">
<div class="CopyCodeButton"><a class="copyCode" href="CopyCode('ctl00_rs1_mainContentContainer_ctl15');"><img class="LibC_copy_off" src="http://i.msdn.microsoft.com/Global/Images/clear.gif" border="0" alt="" height="9" align="middle" /><span style="color:#0000ff;"> Copy Code</span></a></div>
</div>
<div dir="ltr">
<pre class="libCScode">application/vnd.openxmlformats-officedocument.wordprocessingml.main+xml</pre>
</div>
</div>
<p>defines most of the document structure. In macro-enabled files, the part that maps to <code class="ce">application/vnd.ms-word.template.macroEnabledTemplate.main+xml</code><strong> </strong>defines most of the document structure. In the previous code example from the [Content-Types].xml file, this content type maps to the <code class="ce">document.xml</code> part in the <code class="ce">/word/document.xml</code> folder.</p>
<p>This part contains XML that is similar to a subset of WordprocessingML used in Word 2003. There are elements for paragraphs, properties, and fonts that describe the basic structure of the document. Individual parts describe all the components of the document, such as headers, footers, lists, and endnotes. By default, most of these parts are siblings of the following content type file:</p>
<div id="ctl00_rs1_mainContentContainer_ctl16_">
<div class="CodeSnippetTitleBar">
<div class="CopyCodeButton"><a class="copyCode" href="CopyCode('ctl00_rs1_mainContentContainer_ctl16');"><img class="LibC_copy_off" src="http://i.msdn.microsoft.com/Global/Images/clear.gif" border="0" alt="" height="9" align="middle" /><span style="color:#0000ff;"> Copy Code</span></a></div>
</div>
<div dir="ltr">
<pre class="libCScode">application/vnd.openxmlformats-officedocument.wordprocessingml.main+xml</pre>
</div>
</div>
<p>If you look at the previous code example, from the <code class="ce">[Content-Types].xml</code> file, you see many of these parts listed.</p>
<p>This separation of content from formatting makes working on elements of a document programmatically a much easier task than in previous versions. Using the WinFX <strong>System.IO.Packaging</strong> class, you can modify the file with a few lines of code and perform tasks such as:</p>
<ul type="disc">
<li>Replacing an old corporate logo used in hundreds of documents on a server with a new logo. Simply locate the image, delete it, and replace it with the new image.</li>
<li>Updating all the footers in documents on a server with an updated company name.</li>
<li>Changing the style of all the text in documents on a server to reflect a new corporate font.</li>
</ul>
<p>There are, of course, many more possibilities. With this content separation, locating the part to edit is much easier than it is with the WordprocessingML used in Word 2003. In a WordprocessingML file, the entire document is described in one giant XML file. Parsing the file to make the change can be difficult. It also can be risky, because if a mistake is made, the entire document may become corrupt. In contrast, if one part of a Word 2007 document is corrupt, the rest of the document should open without error.</p>
<h2 class="dtH1"><a name="office2007wordfileformat_understandingthedatastore"></a>Understanding the Data Store</h2>
<p>Similar to many other types of data in the Word XML Format, custom XML data is stored separately from the rest of the document. Each item is stored as a separate part within the package, and by default, this data appears in a folder called <code class="ce">customXml</code> located off the root of the package. If you attach an XML file to a document programmatically by adding a new part to the document&#8217;s <strong>CustomXMLParts</strong> collection, then by default that XML data is stored in a file called <code class="ce">/customXml/item1.xml</code>. If you add a custom XML data from another file, then, by default, it is stored in a file called <code class="ce">/customXml/item2.xml</code>.</p>
<p>By using XMLMapping and XPath expressions, you can map specific elements of an XML part to a content control. This means that to modify or change custom XML programmatically, you do not need to parse through a large WordprocessingML file, as you did in Word 2003. Instead, you find the part holding the custom XML that you want and modify only that part of the file.</p>
<p>To add custom data to your document, you need to create a custom XML file and add it to the ZIP package. You also need to create the corresponding relationship from the main document part to your custom XML part.</p>
<p>In the Word XML Format in Word 2007, each custom part persists in its own XML part within the document container. The custom part contains the file name and its relationship information. The XML part is stored off the root of the document container in a folder called<code class="ce"> customXml</code>.</p>
<p>Figure 3 shows the directory structure for a document that contains custom XML data.</p>
<p><img src="http://i.msdn.microsoft.com/ms771890.Office2007WordFileFormat_Fig03(en-us,office.12).gif" border="0" alt="Hierarchical file structure of a Word 2007 document containing custom XML data" /></p>
<p class="label"><strong>Figure 3. Hierarchical file structure of a Word 2007 document containing custom XML data</strong></p>
<p>Isolating custom XML data inside a document package allows you to read and update custom data without modifying or working with other document parts.</p>
<p>The relationship file, stored inside a _rels folder, describes all the relationships from one XML part to all other XML parts within a Word XML Format document. There are two relationship types for custom XML parts.</p>
<p>The relationship type for the XML is:</p>
<div id="ctl00_rs1_mainContentContainer_ctl17_">
<div class="CodeSnippetTitleBar">
<div class="CopyCodeButton"><a class="copyCode" href="CopyCode('ctl00_rs1_mainContentContainer_ctl17');"><img class="LibC_copy_off" src="http://i.msdn.microsoft.com/Global/Images/clear.gif" border="0" alt="" height="9" align="middle" /><span style="color:#0000ff;"> Copy Code</span></a></div>
</div>
<div dir="ltr">
<pre class="libCScode">http://schemas.openxmlformats.org/officedocument/2006/relationships/customXmlData</pre>
</div>
</div>
<p>The relationship type for the XML properties is:</p>
<div id="ctl00_rs1_mainContentContainer_ctl18_">
<div class="CodeSnippetTitleBar">
<div class="CopyCodeButton"><a class="copyCode" href="CopyCode('ctl00_rs1_mainContentContainer_ctl18');"><img class="LibC_copy_off" src="http://i.msdn.microsoft.com/Global/Images/clear.gif" border="0" alt="" height="9" align="middle" /><span style="color:#0000ff;"> Copy Code</span></a></div>
</div>
<div dir="ltr">
<pre class="libCScode">http://schemas.openxmlformats.org/officedocument/2006/relationships/customXmlProps</pre>
</div>
</div>
<p>An ID is stored with each relationship, allowing you to identify it uniquely within the data store.</p>
<p>The actual custom XML part is stored in its own file alongside the _rels folder. Each custom XML part has a file name of <code class="ce">item</code><em>##</em><code class="ce">.xml</code> and its own properties, named <code class="ce">itemProps</code><em>##</em><code class="ce">.xml</code>. In both file names, <em>##</em> is the number (1, 2, 3. . .) of the custom XML part in the data store. The file format for the <code class="ce">item</code><em>##</em><code class="ce">.xml</code><strong> </strong>custom XML part looks like the following.</p>
<div id="ctl00_rs1_mainContentContainer_ctl19_">
<div class="CodeSnippetTitleBar">
<div class="CopyCodeButton"><a class="copyCode" href="CopyCode('ctl00_rs1_mainContentContainer_ctl19');"><img class="LibC_copy_off" src="http://i.msdn.microsoft.com/Global/Images/clear.gif" border="0" alt="" height="9" align="middle" /><span style="color:#0000ff;"> Copy Code</span></a></div>
</div>
<div dir="ltr">
<pre class="libCScode">&#60;o:dataStoreItem&#62;
   &#60;o:dataStoreItem o:itemID="MSXID for the custom XML part"/&#62;
   &#60;o:xmlSchemaRef o:relID="relationship ID to a schema"/&#62;
&#60;/o: dataStoreItem&#62;</pre>
</div>
</div>
<h2 class="dtH1"><a name="office2007wordfileformat_walkthroughcreatingawordxmlformatfile"></a>Walkthrough: Creating a Word XML Format File</h2>
<p>Document.xml is the only required part in the Word XML Format. For information about how to create a minimal document with only this required part, see the section <a href="http://esersahin.wordpress.com/wp-admin/#office2007wordfileformat_creatingthedocument"><span style="color:#0033cc;">Creating the Document</span></a>.</p>
<p>To illustrate how document parts, content type items, and relationship items work together, this section walks through the process of building a more elaborate Word XML Format document in Word 2007. This walk through helps illustrate how to access and alter document contents using the Word XML Format.</p>
<p>To create a Word 2007 document that contains content type and relationship items, you need to create a root folder that contains a specific folder and file structure, as shown in Figure 4.</p>
<p class="fig"> </p>
<p><img src="http://i.msdn.microsoft.com/ms771890.Office2007WordFileFormat_Fig04(en-us,office.12).gif" border="0" alt="Folder and file structure for a Word 2007 document" /></p>
<p class="label"><strong>Figure 4. Folder and file structure for a Word 2007 document</strong></p>
<p>After you create all folders and files, the next section walks your through adding the required XML code to each document part.</p>
<h4 class="dtH1">Creating the Document Properties</h4>
<p>First, you need to create two XML files for the document properties:</p>
<ol type="1">
<li>Create a folder and name it <strong>root</strong>.</li>
<li>Create a folder inside the folder <strong>root</strong> and name it <strong>docProps</strong>.</li>
<li>Open Notepad or any other XML editor.</li>
<li>Copy and paste the following code into a new file and save it as <strong>app.xml</strong> inside the <strong>docProps</strong> folder:
<div id="ctl00_rs1_mainContentContainer_ctl20_">
<div class="CodeSnippetTitleBar">
<div class="CopyCodeButton"><a class="copyCode" href="CopyCode('ctl00_rs1_mainContentContainer_ctl20');"><img class="LibC_copy_off" src="http://i.msdn.microsoft.com/Global/Images/clear.gif" border="0" alt="" height="9" align="middle" /><span style="color:#0000ff;"> Copy Code</span></a></div>
</div>
<div dir="ltr">
<pre class="libCScode">&#60;?xml version="1.0" encoding="UTF-8" standalone="yes"?&#62;
&#60;Properties xmlns=
   "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"
   xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"&#62;
     &#60;Template&#62;Normal.dotm&#60;/Template&#62;
     &#60;TotalTime&#62;1&#60;/TotalTime&#62;
     &#60;Pages&#62;1&#60;/Pages&#62;
     &#60;Words&#62;3&#60;/Words&#62;
     &#60;Characters&#62;23&#60;/Characters&#62;
     &#60;Application&#62;Microsoft Office Word&#60;/Application&#62;
     &#60;DocSecurity&#62;0&#60;/DocSecurity&#62;
     &#60;Lines&#62;1&#60;/Lines&#62;
     &#60;Paragraphs&#62;1&#60;/Paragraphs&#62;
     &#60;ScaleCrop&#62;false&#60;/ScaleCrop&#62;
     &#60;Company&#62;MS&#60;/Company&#62;
     &#60;LinksUpToDate&#62;false&#60;/LinksUpToDate&#62;
     &#60;CharactersWithSpaces&#62;25&#60;/CharactersWithSpaces&#62;
     &#60;SharedDoc&#62;false&#60;/SharedDoc&#62;
     &#60;HyperlinksChanged&#62;false&#60;/HyperlinksChanged&#62;
     &#60;AppVersion&#62;12.0000&#60;/AppVersion&#62;
&#60;/Properties&#62;</pre>
</div>
</div>
</li>
<li>Open Notepad or any other XML editor.</li>
<li>Copy and paste the following code into a new file and save it as <strong>core.xml</strong> inside the <strong>docProps</strong> folder:
<div id="ctl00_rs1_mainContentContainer_ctl21_">
<div class="CodeSnippetTitleBar">
<div class="CopyCodeButton"><a class="copyCode" href="CopyCode('ctl00_rs1_mainContentContainer_ctl21');"><img class="LibC_copy_off" src="http://i.msdn.microsoft.com/Global/Images/clear.gif" border="0" alt="" height="9" align="middle" /><span style="color:#0000ff;"> Copy Code</span></a></div>
</div>
<div dir="ltr">
<pre class="libCScode">&#60;?xml version="1.0" encoding="UTF-8" standalone="yes"?&#62;
&#60;cp:coreProperties xmlns:cp=
   "http://schemas.openxmlformats.org/package/2006/metadata/core-properties"
   xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"
   xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi=
   "http://www.w3.org/2001/XMLSchema-instance"&#62;
   &#60;dc:title&#62;&#60;/dc:title&#62;
   &#60;dc:subject&#62;&#60;/dc:subject&#62;
   &#60;dc:creator&#62;Your name&#60;/dc:creator&#62;
   &#60;cp:keywords&#62;&#60;/cp:keywords&#62;
   &#60;dc:description&#62;&#60;/dc:description&#62;
   &#60;cp:lastModifiedBy&#62;Your name&#60;/cp:lastModifiedBy&#62;
   &#60;cp:revision&#62;2&#60;/cp:revision&#62;
   &#60;dcterms:created xsi:type="dcterms:W3CDTF"&#62;2006-05-03T01:13:00Z&#60;/dcterms:created&#62;
   &#60;dcterms:modified xsi:type="dcterms:W3CDTF"&#62;2006-05-03T01:14:00Z&#60;/dcterms:modified&#62;
&#60;/cp:coreProperties&#62;</pre>
</div>
</div>
</li>
</ol>
<h4 class="dtH1"><a name="office2007wordfileformat_creatingthedocument"></a>Creating the Document</h4>
<p>Next, you need to create an XML file for the document part. This is the only required part in the new Word XML Format.</p>
<ol type="1">
<li>Create a folder and name it <strong>root</strong>.</li>
<li>Create a folder inside the <strong>root </strong>folder and name it <strong>word</strong>.</li>
<li>Open Notepad or any other XML editor.</li>
<li>Copy and paste the following code into a new file and save it as <strong>document.xml</strong> inside the <strong>word</strong> folder:
<div id="ctl00_rs1_mainContentContainer_ctl22_">
<div class="CodeSnippetTitleBar">
<div class="CopyCodeButton"><a class="copyCode" href="CopyCode('ctl00_rs1_mainContentContainer_ctl22');"><img class="LibC_copy_off" src="http://i.msdn.microsoft.com/Global/Images/clear.gif" border="0" alt="" height="9" align="middle" /><span style="color:#0000ff;"> Copy Code</span></a></div>
</div>
<div dir="ltr">
<pre class="libCScode">&#60;?xml version="1.0" encoding="UTF-8" standalone="yes"?&#62;
&#60;w:document xmlns:ve="http://schemas.openxmlformats.org/markup-compatibility/2006"
   xmlns:o="urn:schemas-microsoft-com:office:office"
   xmlns:o12="http://schemas.microsoft.com/office/2004/7/core"
    xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
   xmlns:m="http://schemas.microsoft.com/office/omml/2004/12/core"
   xmlns:v="urn:schemas-microsoft-com:vml"
   xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/3/wordprocessingDrawing"
   xmlns:w10="urn:schemas-microsoft-com:office:word"
   xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/3/main"&#62;
   &#60;w:body&#62;
     &#60;w:p&#62;
       &#60;w:r w:rsidR="002847EC"&#62;
        &#60;w:t&#62;Word 2007 rocks my world!&#60;/w:t&#62;
       &#60;/w:r&#62;
     &#60;/w:p&#62;
   &#60;/w:body&#62;
&#60;/w:document&#62;</pre>
</div>
</div>
</li>
</ol>
<h4 class="dtH1">Creating a Relationship</h4>
<p>Next, you need to create a relationship to this part. This relationship is documented in the root _rels<strong> </strong>folder, which means that the relationship is off the <em>root</em> (or <em>start part</em>) of the package. To create the relationship:</p>
<ol type="1">
<li>Create a folder inside the folder <strong>root</strong> and name it <strong>_rels</strong>.</li>
<li>Open Notepad or any other XML editor.</li>
<li>Copy and paste the following code into a new file and save it as <strong>.rels</strong><em> </em>inside the <strong>_rels</strong> folder:
<div id="ctl00_rs1_mainContentContainer_ctl23_">
<div class="CodeSnippetTitleBar">
<div class="CopyCodeButton"><a class="copyCode" href="CopyCode('ctl00_rs1_mainContentContainer_ctl23');"><img class="LibC_copy_off" src="http://i.msdn.microsoft.com/Global/Images/clear.gif" border="0" alt="" height="9" align="middle" /><span style="color:#0000ff;"> Copy Code</span></a></div>
</div>
<div dir="ltr">
<pre class="libCScode">&#60;?xml version="1.0" encoding="UTF-8" standalone="yes"?&#62;
&#60;Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"&#62;
  &#60;Relationship Id="rId3" Type=
   "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties"
   Target="docProps/app.xml"/&#62;
   &#60;Relationship Id="rId2" Type=
   "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties"
   Target="docProps/core.xml"/&#62;
   &#60;Relationship Id="rId1" Type=
   "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"
   Target="word/document.xml"/&#62;
&#60;/Relationships&#62;</pre>
</div>
</div>
</li>
<li>Notice that this XML creates a relationship of type <strong>officeDocument</strong> with ID <strong>rId1</strong> to the <strong>document.xml</strong> file in the folder named word.</li>
</ol>
<h4 class="dtH1">Defining the Content Type</h4>
<p>Next, you need to define the content type of this file.</p>
<ol type="1">
<li>Note that the structure of a content type definition file looks like the following:
<div id="ctl00_rs1_mainContentContainer_ctl24_">
<div class="CodeSnippetTitleBar">
<div class="CopyCodeButton"><a class="copyCode" href="CopyCode('ctl00_rs1_mainContentContainer_ctl24');"><img class="LibC_copy_off" src="http://i.msdn.microsoft.com/Global/Images/clear.gif" border="0" alt="" height="9" align="middle" /><span style="color:#0000ff;"> Copy Code</span></a></div>
</div>
<div dir="ltr">
<pre class="libCScode">&#60;?xml version="1.0" encoding="UTF-8" standalone="yes"?&#62;
&#60;Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"&#62;
   &#60;Default Extension="rels" ContentType=
   "application/vnd.openxmlformats-package.relationships+xml"/&#62;
   &#60;Default Extension="xml" ContentType="application/xml"/&#62;
   &#60;Override PartName="/word/document.xml" ContentType=
   "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"/&#62;
   &#60;Override PartName="/word/styles.xml" ContentType=
   "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml"/&#62;
   &#60;Override PartName="/docProps/app.xml" ContentType=
   "application/vnd.openxmlformats-officedocument.extended-properties+xml"/&#62;
   &#60;Override PartName="/word/settings.xml" ContentType=
   "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml"/&#62;
   &#60;Override PartName="/word/theme/theme1.xml" ContentType=
   "application/vnd.openxmlformats-officedocument.theme+xml"/&#62;
   &#60;Override PartName="/word/fontTable.xml" ContentType=
   "application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml"/&#62;
   &#60;Override PartName="/word/webSettings.xml" ContentType=
   "application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml"/&#62;
   &#60;Override PartName="/docProps/core.xml" ContentType=
   "application/vnd.openxmlformats-package.core-properties+xml"/&#62;
&#60;/Types&#62;</pre>
</div>
</div>
</li>
<li>Open Notepad or any other XML editor.</li>
<li>Copy and paste the above code into a new file and save it as <strong>[Content_Types].xml</strong><em> </em>inside the <strong>root</strong> folder.<br />
<blockquote class="dtBlock"><p><strong class="le">Note</strong>   This reserved file name is used by the Open Packaging Conventions to define the content types of all files in the package.</p></blockquote>
</li>
</ol>
<h4 class="dtH1">Creating the Package</h4>
<p>Finally, you can put these files into a ZIP package to create a valid Word 2007 document:</p>
<ol type="1">
<li>Using any ZIP utility, save all the content of the <strong>simpledocument</strong> folder into a ZIP archive, including the following subfolders: the <strong>docProps</strong> folder, the <strong>word</strong> folder, and the <strong>_rels</strong> folder. Also include <strong>[Content_Types].xml</strong>.<br />
<blockquote class="dtBlock"><p><strong class="le">IMPORTANT</strong>   Do not simply add the complete simpledocument folder to a ZIP file or you get an internal error while opening the file in Word 2007. You need to specifically add all the subfolders of the simpledocument folder to the ZIP archive.</p></blockquote>
</li>
<li>Save the archive as <strong>simpledocument.docx</strong>.</li>
</ol>
<p>Now, you can open this file in Word 2007 and see the contents of the package:</p>
<p class="fig"> </p>
<p><img src="http://i.msdn.microsoft.com/ms771890.Office2007WordFileFormat_Fig05(en-us,office.12).gif" border="0" alt="Simpledocument.docx in Word 2007" /></p>
<p class="label"><strong>Figure 5. Simpledocument.docx in Word 2007</strong></p>
<h2 class="dtH1"><a name="office2007wordfileformat_conclusion"></a>Conclusion</h2>
<p>When compared to the binary file format used in previous versions of Word, the new Word XML Format in Word 2007 offers many strong benefits. The compression offered by the ZIP container results in much smaller file sizes. The files are also much more robust—if a portion of the file becomes corrupt, the compartmentalization of the different document elements allows the file to open, even if one part is damaged.</p>
<p>It is also easier to change, add, or delete data in a Word 2007 file programmatically or manually. The file is easily accessible using the Microsoft WinFX <strong>System.IO.Packaging</strong> class. You can modify documents on a server with only a few lines of code. You can readily access and manipulate custom XML data from its own separate parts. You can even use events to trigger the change of XML data. For example, you can map a content control to an XML element containing a stock quote and then retrieve the most recent quote programmatically each time the document opens, thereby ensuring that the user always sees the current price.</p>
<p>The possibilities and ease with which you can program against the new Word XML Format are impressive and mark a significant advancement in Microsoft Office.</p>
<h4 class="dtH1">Additional Resources</h4>
<p>To keep current with the latest on Word 2007 and the new file format, see the following resources:</p>
<ul type="disc">
<li><a id="ctl00_rs1_mainContentContainer_ctl25" href="http://msdn.microsoft.com/en-us/library/ms406049.aspx"><span style="color:#0033cc;">Introducing the Microsoft Office (2007) Open XML File Formats</span></a></li>
<li><a id="ctl00_rs1_mainContentContainer_ctl26" href="http://msdn.microsoft.com/en-us/library/ms406055.aspx"><span style="color:#0033cc;">What&#8217;s New for Developers in Word 2007</span></a></li>
<li><a id="ctl00_rs1_mainContentContainer_ctl27" href="http://www.ecma-international.org/activities/office%20open%20xml%20formats/tc45_fd_xml_docform.zip"><span style="color:#0033cc;">Office Open XML Document Interchange Specification</span></a></li>
<li><a id="ctl00_rs1_mainContentContainer_ctl28" href="http://www.microsoft.com/downloads/details.aspx?familyid=13f8e273-f5ea-4b7b-b022-97755838db94&#38;displaylang=en"><span style="color:#0033cc;">Microsoft Windows Software Development Kit (SDK) for Beta 2 of Windows Vista and WinFX Runtime Components</span></a></li>
<li><a id="ctl00_rs1_mainContentContainer_ctl29" href="http://www.microsoft.com/whdc/xps/xpspkg.mspx"><span style="color:#0033cc;">Open Packaging Conventions</span></a></li>
<li><a id="ctl00_rs1_mainContentContainer_ctl30" href="http://msdn.microsoft.com/msdnmag/issues/06/06/advancedbasics/default.aspx"><span style="color:#0033cc;">Setting Word Document Properties the Office 2007 Way</span></a></li>
<li><a id="ctl00_rs1_mainContentContainer_ctl31" href="http://channel9.msdn.com/showpost.aspx?postid=159231"><span style="color:#0033cc;">Video: Office 12 &#8211; Word to PDF File Translation</span></a></li>
<li><a id="ctl00_rs1_mainContentContainer_ctl32" href="http://channel9.msdn.com/showpost.aspx?postid=174061"><span style="color:#0033cc;">Video: Open XML File Formats</span></a></li>
<li><a id="ctl00_rs1_mainContentContainer_ctl33" href="http://openxmldeveloper.org/default.aspx">OpenXMLDeveloper.org</a></li>
<li><a id="ctl00_rs1_mainContentContainer_ctl34" href="http://channel9.msdn.com/showpost.aspx?postid=73329"><span style="color:#0033cc;">Video: Brian Jones &#8211; New Office File Formats Announced</span></a></li>
<li><a id="ctl00_rs1_mainContentContainer_ctl35" href="http://blogs.msdn.com/brian_jones/">Blog: Brian Jones: Office XML Formats</a></li>
</ul>
<h4 class="dtH1">Acknowledgments</h4>
<p>Thanks to Frank Rice, Mark Iverson, and Tristan Davis for their contributions to this article.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[PowerTools ]]></title>
<link>http://esersahin.wordpress.com/2008/12/09/powertools/</link>
<pubDate>Tue, 09 Dec 2008 07:19:30 +0000</pubDate>
<dc:creator>esersahin</dc:creator>
<guid>http://esersahin.wordpress.com/2008/12/09/powertools/</guid>
<description><![CDATA[http://blogs.msdn.com/ericwhite/pages/PowerTools.aspx Processing Open XML documents using PowerShell]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://blogs.msdn.com/ericwhite/pages/PowerTools.aspx">http://blogs.msdn.com/ericwhite/pages/PowerTools.aspx</a></p>
<p><span style="font-size:11pt;line-height:115%;font-family:Calibri,sans-serif;">Processing Open XML documents using PowerShell on a server is a powerful and compelling approach to creation and modification of Open XML documents.</span></p>
<p><span style="font-size:11pt;line-height:115%;font-family:Calibri,sans-serif;">PowerTools for Open XML are sample source code and guidance for developers showing how to build PowerShell cmdlets to create and modify Office Open XML documents, and scripts to demonstrate the use of the cmdlets.</span></p>
<p><span style="font-size:11pt;line-height:115%;font-family:Calibri,sans-serif;">To download the PowerTools for Open XML: <a href="http://www.codeplex.com/PowerTools">www.CodePlex.com/PowerTools</a></span></p>
<p><span style="font-size:11pt;line-height:115%;font-family:Calibri,sans-serif;">To install and use the PowerTools for Open XML:</span></p>
<ul>
<li><span style="font-size:11pt;line-height:115%;font-family:Calibri,sans-serif;">You need to have any edition (including Express Edition) of Visual Studio 2008 installed.  <a href="http://www.microsoft.com/express/download/">Download the Express Edition</a>.</span></li>
<li><span style="font-size:11pt;line-height:115%;font-family:Calibri,sans-serif;">You need to have PowerShell installed.  <a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx">Download</a>.</span></li>
<li><span style="font-size:11pt;line-height:115%;font-family:Calibri,sans-serif;">PowerTools is built on the Open XML SDK.  <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AD0B72FB-4A1D-4C52-BDB5-7DD7E816D046&#38;displaylang=en">Download</a>.</span></li>
</ul>
<p><span style="font-size:11pt;line-height:115%;font-family:Calibri,sans-serif;"><strong>More Resources </strong></span></p>
<p><span style="font-size:11pt;line-height:115%;font-family:Calibri,sans-serif;"><a href="http://blogs.msdn.com/ericwhite/pages/powertools-screen-casts.aspx">Screen-cast</a> that shows how to download, build, and use the PowerTools.</span></p>
<p><span style="font-size:11pt;line-height:115%;font-family:Calibri,sans-serif;"><a href="http://blogs.msdn.com/ericwhite/pages/powertools-for-open-xml-technical-overview.aspx">PowerTools for Open XML Technical Overview</a> (For C# developers who want to enhance or modify the PowerTools cmdlets).</span></p>
<p><span style="font-size:11pt;line-height:115%;font-family:Calibri,sans-serif;"><a href="http://blogs.msdn.com/ericwhite/pages/powertools-how-to-documentation.aspx">Example Scripts</a> for the PowerTools</span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[PowerTools for Open XML ]]></title>
<link>http://esersahin.wordpress.com/2008/12/09/powertools-for-open-xml/</link>
<pubDate>Tue, 09 Dec 2008 07:18:14 +0000</pubDate>
<dc:creator>esersahin</dc:creator>
<guid>http://esersahin.wordpress.com/2008/12/09/powertools-for-open-xml/</guid>
<description><![CDATA[http://www.codeplex.com/PowerTools Combining the technologies of PowerShell and Open XML is a powerf]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://www.codeplex.com/PowerTools">http://www.codeplex.com/PowerTools</a></p>
<div class="wikidoc">Combining the technologies of PowerShell and Open XML is a powerful and convenient way to do server-side document processing. The PowerTools for Open XML are sample source code and guidance for developers showing how to build PowerShell cmdlets that can create and modify Open XML documents. Also included are a number of examples of PowerShell scripts that use the cmdlets.</p>
<p>To install and use the PowerTools for Open XML:</p>
<ul>
<li>You need to have any edition (including Visual C# 2008 Express Edition) of Visual Studio 2008 installed. You can download Express Edition at <a class="externalLink" href="http://www.microsoft.com/express/download/"><span style="color:#3e62a6;">http://www.microsoft.com/express/download/</span></a>.</li>
<li>You need to have PowerShell 1.0 installed. You can download PowerShell at <a class="externalLink" href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx"><span style="color:#3e62a6;">http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx</span></a>.</li>
<li>PowerTools for Open XML is built using the Open XML SDK. You can download the SDK at <a class="externalLink" href="http://go.microsoft.com/fwlink/?LinkId=120908"><span style="color:#3e62a6;">http://go.microsoft.com/fwlink/?LinkId=120908</span></a>.</li>
<li>You also need the PowerTools source code, which is available in the &#8220;Releases&#8221; tab above.</li>
</ul>
<p>PowerTools for Open XML Home Page: <a class="externalLink" href="http://blogs.msdn.com/ericwhite/pages/PowerTools.aspx"><span style="color:#3e62a6;">http://blogs.msdn.com/ericwhite/pages/PowerTools.aspx</span></a></p>
<h2>Set-OpenXmlCustomXmlData</h2>
<p>The Set-OpenXmlCustomXmlData cmdlet sets or replaces the specified custom XML part in the document.</p>
<h2>Remove-OpenXmlComment</h2>
<p>The Remove-OpenXmlComment cmdlet locates and removes comment contents and references from Wordprocessing documents.</p>
<h2>Add-OpenXmlDocumentTOC</h2>
<p>The Add-OpenXmlDocumentTOC cmdlet creates a Table of Contents based on the headings found it in the document. The TOC will be created at the end of the document.</p>
<h2>Add-OpenXmlDocumentIndex</h2>
<p>The Add-OpenXmlDocumentIndex cmdlet creates an index based on the index references found in the document. The index will be created at the end of the document.</p>
<h2>Set-OpenXmlWatermark</h2>
<p>The Set-OpenXmlWatermark cmdlet adds watermark text to the background of a document. iI the DiagonalOrientation parameter is specified, then the text will be in a diagonal<br />
orientation rather than horizontal.</p>
<h2>Add-OpenXmlPicture</h2>
<p>The Add-OpenXmlPicture cmdlet inserts a picture at a specific location inside an OpenXML document. The picture will be stored inside the document as an embedded resource. Picture location is specified by an XPath query expression.</p>
<h2>Set-OpenXmlHeader</h2>
<p>The Set-OpenXmlHeader cmdlet inserts header parts into all sections of a Wordprocessing document.</p>
<h2>Lock-OpenXmlDocument</h2>
<p>The Lock-OpenXmlDocument cmdlet sets a lock inside one or more Wordprocessing documents to prevent them from being edited.</p>
<h2>Get-OpenXmlStyle</h2>
<p>The Get-OpenXmlStyle cmdlet retrieves the styles definition part from a WordprocessingML or SpreadsheetML document and returns an XDocument object containing the styles content.</p>
<h2>Get-OpenXmlTheme</h2>
<p>The Get-OpenXmlTheme cmdlet extracts the whole theme part from a Wordprocessing document as a thmx file (with media resources embedded). A Package object (System.IO.Packaging.Package) is returned that corresponds to the theme file.</p>
<h2>Accept-OpenXmlChange</h2>
<p>The Accept-OpenXmlTextChange cmdlet processes documents with text revisions (change tracking elements), by accepting all the text changes performed on the document.</p>
<h2>Set-OpenXmlBackground</h2>
<p>The Set-OpenXmlBackground cmdlet changes the background image or background color of a Wordprocessing document.</p>
<h2>Get-OpenXmlComment</h2>
<p>The Get-OpenXmlComment extracts all the comments from a document, and return all of them in a XDocument</p>
<h2>Add-OpenXmlDigitalSignature</h2>
<p>The Add-OpenXmlDigitalSignature cmdlet uses a digital certificate to digitally sign a Wordprocessing document.</p>
<h2>Get-OpenXmlDocument</h2>
<p>The Get-OpenXmlDocument cmdlet returns an OpenXML document object for each document file. The actual object will depend on the type of document in the file. For example, if it is a spreadsheet, the object will be a SpreadsheetDocument, which is derived from OpenXMLDocument.</p>
<h2>Get-OpenXmlCustomXmlData</h2>
<p>The Get-OpenXmlCustomXmlData cmdlet gets the first customXml part that matches the given name and returns it as an XDocument object.</p>
<h2>Export-OpenXmlToHtml</h2>
<p>The Export-OpenXmlToHtml cmdlet transforms the content of Wordprocessing documents into an html file by applying an XSLT transformation over the main content and extracting images from the package to a given location.</p>
<h2>Add-OpenXmlDocumentTOA</h2>
<p>The Add-OpenXmlDocumentTOA cmdlet creates a Table of Authorities based on the citations (references or authorities) found it in the document. The TOA will be created at the end of the document.</p>
<h2>Set-OpenXmlStyle</h2>
<p>The Set-OpenXmlStyle cmdlet replaces the style library in a WordprocessingML or SpreadsheetML document.</p>
<h2>Get-OpenXmlFooter</h2>
<p>The Get-OpenXmlFooter cmdlet retrieves all the specified footer parts from a document and returns an XDocument array of those footers. An object is returned for the specified footer in each Section of the document.</p>
<h2>Get-OpenXmlDigitalSignature</h2>
<p>The Get-OpenXmlDigitalSignature cmdlet returns a summary of digital signatures present in the Wordprocessing document</p>
<h2>Set-OpenXmlTheme</h2>
<p>The Set-OpenXmlTheme cmdlet sets the current theme in a Wordprocessing document to the specified theme.</p>
<h2>Remove-OpenXmlDigitalSignature</h2>
<p>The Remove-OpenXmlDigitalSignature cmdlet removes digital signatures from a Wordprocessing document</p>
<h2>Add-OpenXmlContent</h2>
<p>The Add-OpenXmlContent cmdlet injects custom xml markup inside a given part from a Wordprocessing document</p>
<h2>Export-OpenXmlWordprocessing</h2>
<p>The Export-OpenXmlWordprocessing uses plain text to create a Wordprocessing document.</p>
<h2>Set-OpenXmlContentFormat</h2>
<p>The Set-OpenXmlContentFormat cmdlet inserts markup containing format to be applied on a given run or paragraph. Format location is specified as an xpath query.</p>
<h2>Set-OpenXmlFooter</h2>
<p>The Set-OpenXmlFooter cmdlet inserts footer parts into all sections of a Wordprocessing document.</p>
<h2>Get-OpenXmlWatermark</h2>
<p>The Get-OpenXmlWatermark cmdlet retrieves the text of the document&#8217;s watermark.</p>
<h2>Get-OpenXmlBackground</h2>
<p>The Get-OpenXmlBackground cmdlet extracts the background (color or image) from a document according to the parameters Image or Color.</p>
<h2>Export-OpenXmlSpreadsheet</h2>
<p>The Export-OpenXmlSpreadsheet gets the public properties from any objects and generates a spreadsheet with columns showing for each property. Optionally, a chart can be created from a subset of those properties.</p>
<h2>Set-OpenXmlContentStyle</h2>
<p>The Set-OpenXmlContentStyle cmdlet inserts inserts markup containing the style format to be applied on a given run or paragraph. Format location is specified as an xpath query.</p>
<h2>Add-OpenXmlDocumentTOF</h2>
<p>The Add-OpenXmlDocumentTOF cmdlet creates a Table of Figures based on the figures found it in the document. The TOF will be created at the end of the document.</p>
<h2>Get-OpenXmlHeader</h2>
<p>The Get-OpenXmlHeader retrieves all the existing header parts from a document. The execution returns an XDocument array of all the header parts found in the document.</p>
<p>If you have any issues with downloading, building, or using the PowerTools for Open XML, please feel free to contact Eric White: white.eric (at) microsoft.com</p></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Open XML Format SDK April CTP]]></title>
<link>http://esersahin.wordpress.com/2008/12/09/powertools-for-openxml/</link>
<pubDate>Tue, 09 Dec 2008 07:04:16 +0000</pubDate>
<dc:creator>esersahin</dc:creator>
<guid>http://esersahin.wordpress.com/2008/12/09/powertools-for-openxml/</guid>
<description><![CDATA[http://notes2self.net/archive/2008/04/17/open-xml-format-sdk-april-ctp.aspx  Download here. Class Di]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://notes2self.net/archive/2008/04/17/open-xml-format-sdk-april-ctp.aspx">http://notes2self.net/archive/2008/04/17/open-xml-format-sdk-april-ctp.aspx</a></p>
<p> Download <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AD0B72FB-4A1D-4C52-BDB5-7DD7E816D046&#38;displaylang=en" target="_blank">here</a>. <a href="http://msdn2.microsoft.com/en-us/library/bb521236.aspx" target="_blank">Class Diagram</a>. <a href="http://msdn2.microsoft.com/en-us/library/cc471858.aspx" target="_blank">What&#8217;s new</a>? <a href="http://msdn2.microsoft.com/en-us/library/cc471945.aspx" target="_blank">Roadmap</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenXML and ODF in Windows 7 Wordpad]]></title>
<link>http://esersahin.wordpress.com/2008/12/09/openxml-and-odf-in-windows-7-wordpad/</link>
<pubDate>Tue, 09 Dec 2008 06:52:16 +0000</pubDate>
<dc:creator>esersahin</dc:creator>
<guid>http://esersahin.wordpress.com/2008/12/09/openxml-and-odf-in-windows-7-wordpad/</guid>
<description><![CDATA[http://notes2self.net/archive/2008/10/29/openxml-and-odf-in-windows-7-wordpad.aspx I said I’d post s]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://notes2self.net/archive/2008/10/29/openxml-and-odf-in-windows-7-wordpad.aspx">http://notes2self.net/archive/2008/10/29/openxml-and-odf-in-windows-7-wordpad.aspx</a></p>
<p>I <a href="http://notes2self.net/archive/2008/10/28/windows-7-wordpad-supports-openxml-and-odf.aspx">said I’d post screenshots</a> of the OpenXML and ODF support in Windows 7 Wordpad. It turns out that this isn’t in build 6801 (the ISO files on “the goods” hdd but is in build 6930.</p>
<p>Here’s the File/Open and File/Save Dialogues …</p>
<p><a href="http://notes2self.net/mob_img/Windows7-Wordpad-Screenshots/win7-wordpad-open.png" target="_blank"><img src="http://notes2self.net/mob_img/Windows7-Wordpad-Screenshots/win7-wordpad-open.png" alt="" width="530" height="299" /></a></p>
<p>(click the pictures for full size image)</p>
<p><a href="http://notes2self.net/mob_img/Windows7-Wordpad-Screenshots/win7-wordpad-save.png" target="_blank"><img src="http://notes2self.net/mob_img/Windows7-Wordpad-Screenshots/win7-wordpad-save.png" alt="" width="530" height="299" /></a></p>
<p> </p>
<p>and here’s the listed file types</p>
<p><img src="http://notes2self.net/mob_img/Windows7-Wordpad-Screenshots/FileDialogueDetail.png" alt="" /></p>
<p>and finally, here’s the ODF specification from Oasis’ site open in Wordpad</p>
<p><a href="http://notes2self.net/mob_img/Windows7-Wordpad-Screenshots/wordpad-odt-file.png" target="_blank"><img src="http://notes2self.net/mob_img/Windows7-Wordpad-Screenshots/wordpad-odt-file.png" alt="" width="530" height="404" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Windows 7 Wordpad supports OpenXML and ODF]]></title>
<link>http://esersahin.wordpress.com/2008/12/09/windows-7-wordpad-supports-openxml-and-odf/</link>
<pubDate>Tue, 09 Dec 2008 06:50:48 +0000</pubDate>
<dc:creator>esersahin</dc:creator>
<guid>http://esersahin.wordpress.com/2008/12/09/windows-7-wordpad-supports-openxml-and-odf/</guid>
<description><![CDATA[http://notes2self.net/archive/2008/10/28/windows-7-wordpad-supports-openxml-and-odf.aspx]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://notes2self.net/archive/2008/10/28/windows-7-wordpad-supports-openxml-and-odf.aspx">http://notes2self.net/archive/2008/10/28/windows-7-wordpad-supports-openxml-and-odf.aspx</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenXML Object Model Writer ]]></title>
<link>http://esersahin.wordpress.com/2008/12/09/openxml-object-model-writer/</link>
<pubDate>Tue, 09 Dec 2008 06:49:59 +0000</pubDate>
<dc:creator>esersahin</dc:creator>
<guid>http://esersahin.wordpress.com/2008/12/09/openxml-object-model-writer/</guid>
<description><![CDATA[http://www.codeplex.com/OpenXMLWriter]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://www.codeplex.com/OpenXMLWriter">http://www.codeplex.com/OpenXMLWriter</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Standard ECMA-376 Office Open XML File Formats 1st edition (December 2006) and 2nd edition (December 2008)]]></title>
<link>http://esersahin.wordpress.com/2008/12/08/standard-ecma-376-office-open-xml-file-formats-1st-edition-december-2006-and-2nd-edition-december-2008/</link>
<pubDate>Mon, 08 Dec 2008 20:37:18 +0000</pubDate>
<dc:creator>esersahin</dc:creator>
<guid>http://esersahin.wordpress.com/2008/12/08/standard-ecma-376-office-open-xml-file-formats-1st-edition-december-2006-and-2nd-edition-december-2008/</guid>
<description><![CDATA[http://www.ecma-international.org/publications/standards/Ecma-376.htm This Standard defines Office O]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://www.ecma-international.org/publications/standards/Ecma-376.htm">http://www.ecma-international.org/publications/standards/Ecma-376.htm</a></p>
<p>This Standard defines Office Open XML&#8217;s vocabularies and document representation and packaging. It also specifies requirements for consumers and producers of Office Open XML.</p>
<p> </p>
<p>An <a href="http://esersahin.wordpress.com/news/TC45_current_work/OpenXML%20White%20Paper.pdf">Office Open XML overview</a> is available on the Ecma website.</p>
<p><img src="http://esersahin.wordpress.com/images/ST-Line.gif" alt="" width="592" height="2" /></p>
<p>Copy these file(s), free of charge:</p>
<table class="STbody" border="2" width="498">
<tbody>
<tr>
<td width="258">File name</td>
<td width="90">Size (Bytes)</td>
<td width="126">Content</td>
</tr>
<tr>
<td><a href="http://esersahin.wordpress.com/files/ECMA-ST/Office%20Open%20XML%201st%20edition%20Part%201%20(DOCX).zip">ECMA-376 1st edition Part 1 </a></td>
<td align="right">350 630</td>
<td>zipped DOCX file</td>
</tr>
<tr>
<td><a href="http://esersahin.wordpress.com/files/ECMA-ST/Office%20Open%20XML%201st%20edition%20Part%201%20(PDF).zip">ECMA-376 1st edition Part 1 </a></td>
<td align="right">1441795</td>
<td>zipped PDF file</td>
</tr>
<tr>
<td><a href="http://esersahin.wordpress.com/files/ECMA-ST/Office%20Open%20XML%201st%20edition%20Part%202%20(DOCX).zip">ECMA-376 1st edition Part 2 </a></td>
<td align="right">341625</td>
<td>zipped DOCX file with 2 Annexes</td>
</tr>
<tr>
<td><a href="http://esersahin.wordpress.com/files/ECMA-ST/Office%20Open%20XML%201st%20edition%20Part%202%20(PDF).zip">ECMA-376 1st edition Part 2 </a></td>
<td align="right">1286494</td>
<td>zipped PDF file with 2 Annexes</td>
</tr>
<tr>
<td><a href="http://esersahin.wordpress.com/files/ECMA-ST/Office%20Open%20XML%201st%20edition%20Part%203%20(DOCX).zip">ECMA-376 1st edition Part 3 </a></td>
<td align="right">6625515</td>
<td>zipped DOCX file</td>
</tr>
<tr>
<td><a href="http://esersahin.wordpress.com/files/ECMA-ST/Office%20Open%20XML%201st%20edition%20Part%203%20(PDF).zip">ECMA-376 1st edition Part 3 </a></td>
<td align="right">5930003</td>
<td>zipped PDF file</td>
</tr>
<tr>
<td><a href="http://esersahin.wordpress.com/files/ECMA-ST/Office%20Open%20XML%201st%20edition%20Part%204%20(DOCX).zip">ECMA-376 1st edition Part 4 </a></td>
<td align="right">14509353</td>
<td>zipped DOCX file with 4 Annexes</td>
</tr>
<tr>
<td><a href="http://esersahin.wordpress.com/files/ECMA-ST/Office%20Open%20XML%201st%20edition%20Part%204%20(PDF).zip">ECMA-376 1st edition Part 4 </a></td>
<td align="right">33175399</td>
<td>zipped PDF file with 4 Annexes</td>
</tr>
<tr>
<td><a href="http://esersahin.wordpress.com/files/ECMA-ST/Office%20Open%20XML%201st%20edition%20Part%205%20(DOCX).zip">ECMA-376 1st edition Part 5 </a></td>
<td align="right">99655</td>
<td>zipped DOCX file</td>
</tr>
<tr>
<td><a href="http://esersahin.wordpress.com/files/ECMA-ST/Office%20Open%20XML%201st%20edition%20Part%205%20(PDF).zip">ECMA-376 1st edition Part 5 </a></td>
<td align="right">687279</td>
<td>zipped PDF file</td>
</tr>
<tr>
<td><a href="http://esersahin.wordpress.com/files/ECMA-ST/Ecma%20PATENT/ga-2006-191.pdf">Adobe patent statement for the 1st edition</a></td>
<td align="right">372005</td>
<td>Acrobat (r) PDF file</td>
</tr>
<tr>
<td><a href="http://esersahin.wordpress.com/files/ECMA-ST/Ecma%20PATENT/ECMA-376%20Edition%201%20Microsoft%20Patent%20Declaration.pdf">Microsoft patent statement for the 1st edition</a></td>
<td align="right">33580</td>
<td>Acrobat (r) PDF file</td>
</tr>
<tr>
<td> </td>
<td align="right"> </td>
<td> </td>
</tr>
<tr>
<td><a href="http://esersahin.wordpress.com/files/ECMA-ST/ECMA-376,%20Second%20Edition,%20Part%201%20-%20Fundamentals%20And%20Markup%20Language%20Reference.zip">ECMA-376 2nd edition Part 1</a></td>
<td align="right">50 410 914</td>
<td>zipped folder</td>
</tr>
<tr>
<td><a href="http://esersahin.wordpress.com/files/ECMA-ST/ECMA-376,%20Second%20Edition,%20Part%202%20-%20Open%20Packaging%20Conventions.zip">ECMA-376 </a><a href="http://esersahin.wordpress.com/files/ECMA-ST/ECMA-376,%20Second%20Edition,%20Part%201%20-%20Fundamentals%20And%20Markup%20Language%20Reference.zip">2nd edition </a><a href="http://esersahin.wordpress.com/files/ECMA-ST/ECMA-376,%20Second%20Edition,%20Part%202%20-%20Open%20Packaging%20Conventions.zip">Part 2</a></td>
<td align="right">1 418 169</td>
<td>zipped folder</td>
</tr>
<tr>
<td><a href="http://esersahin.wordpress.com/files/ECMA-ST/ECMA-376,%20Second%20Edition,%20Part%203%20-%20Markup%20Compatibility%20and%20Extensibility.zip">ECMA-376 </a><a href="http://esersahin.wordpress.com/files/ECMA-ST/ECMA-376,%20Second%20Edition,%20Part%201%20-%20Fundamentals%20And%20Markup%20Language%20Reference.zip">2nd edition </a><a href="http://esersahin.wordpress.com/files/ECMA-ST/ECMA-376,%20Second%20Edition,%20Part%203%20-%20Markup%20Compatibility%20and%20Extensibility.zip">Part 3 </a></td>
<td align="right">807 091</td>
<td>zipped folder</td>
</tr>
<tr>
<td><a href="http://esersahin.wordpress.com/files/ECMA-ST/ECMA-376,%20Second%20Edition,%20Part%204%20-%20Transitional%20Migration%20Features.zip">ECMA-376 </a><a href="http://esersahin.wordpress.com/files/ECMA-ST/ECMA-376,%20Second%20Edition,%20Part%201%20-%20Fundamentals%20And%20Markup%20Language%20Reference.zip">2nd edition </a><a href="http://esersahin.wordpress.com/files/ECMA-ST/ECMA-376,%20Second%20Edition,%20Part%204%20-%20Transitional%20Migration%20Features.zip">Part 4</a></td>
<td align="right">8 571 966</td>
<td>zipped folder</td>
</tr>
<tr>
<td><a href="http://esersahin.wordpress.com/files/ECMA-ST/Ecma%20PATENT/ECMA-376%20Edition%202%20Microsoft%20Patent%20Declaration.pdf">Microsoft patent statement for the </a><a href="http://esersahin.wordpress.com/files/ECMA-ST/ECMA-376,%20Second%20Edition,%20Part%201%20-%20Fundamentals%20And%20Markup%20Language%20Reference.zip">2nd edition </a></td>
<td align="right">33 275</td>
<td>Acrobat (r) PDF file</td>
</tr>
</tbody>
</table>
<p>ECMA-376 2nd edition is technically aligned with ISO/IEC 29500.</p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
