{"id":567,"date":"2011-11-30T19:31:39","date_gmt":"2011-11-30T19:31:39","guid":{"rendered":"http:\/\/www.ericwhite.com\/home2\/bm8qcmjy\/public_html\/blog\/?page_id=567"},"modified":"2011-11-30T20:06:31","modified_gmt":"2011-11-30T20:06:31","slug":"video-toc-expanded","status":"publish","type":"page","link":"https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/","title":{"rendered":"Video TOC Expanded"},"content":{"rendered":"<table border='1' cellspacing='0' cellpadding='0' style='border-collapse:collapse; border:none;'>\n<tr style=''>\n<td style='border:solid windowtext 1.0pt;padding:3.5pt 5.4pt 4.5pt 5.4pt'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><\/td>\n<td style='border:solid windowtext 1.0pt;padding:3.5pt 5.4pt 4.5pt 5.4pt'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#documentbuilder'>DocumentBuilder<\/a><\/td>\n<td style='border:solid windowtext 1.0pt;padding:3.5pt 5.4pt 4.5pt 5.4pt'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/td>\n<td style='border:solid windowtext 1.0pt;padding:3.5pt 5.4pt 4.5pt 5.4pt'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#functional-programming'>Functional Programming<\/a><\/td>\n<\/tr>\n<tr style=''>\n<td style='border:solid windowtext 1.0pt;padding:3.5pt 5.4pt 4.5pt 5.4pt'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#introduction'>Introduction<\/a><\/td>\n<td style='border:solid windowtext 1.0pt;padding:3.5pt 5.4pt 4.5pt 5.4pt'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#linq'>LINQ<\/a><\/td>\n<td style='border:solid windowtext 1.0pt;padding:3.5pt 5.4pt 4.5pt 5.4pt'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#linq-to-xml'>LINQ to XML<\/a><\/td>\n<td style='border:solid windowtext 1.0pt;padding:3.5pt 5.4pt 4.5pt 5.4pt'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#office-automation'>Office Automation<\/a><\/td>\n<\/tr>\n<tr style=''>\n<td style='border:solid windowtext 1.0pt;padding:3.5pt 5.4pt 4.5pt 5.4pt'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><\/td>\n<td style='border:solid windowtext 1.0pt;padding:3.5pt 5.4pt 4.5pt 5.4pt'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><\/td>\n<td style='border:solid windowtext 1.0pt;padding:3.5pt 5.4pt 4.5pt 5.4pt'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><\/td>\n<td style='border:solid windowtext 1.0pt;padding:3.5pt 5.4pt 4.5pt 5.4pt'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#pptx-generation'>PPTX Generation<\/a><\/td>\n<\/tr>\n<tr style=''>\n<td style='border:solid windowtext 1.0pt;padding:3.5pt 5.4pt 4.5pt 5.4pt'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#presentationml'>PresentationML<\/a><\/td>\n<td style='border:solid windowtext 1.0pt;padding:3.5pt 5.4pt 4.5pt 5.4pt'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#sdk-productivity-tool'>SDK Productivity Tool<\/a><\/td>\n<td style='border:solid windowtext 1.0pt;padding:3.5pt 5.4pt 4.5pt 5.4pt'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#spreadsheetml'>SpreadsheetML<\/a><\/td>\n<td style='border:solid windowtext 1.0pt;padding:3.5pt 5.4pt 4.5pt 5.4pt'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#vba'>VBA<\/a><\/td>\n<\/tr>\n<tr style=''>\n<td style='border:solid windowtext 1.0pt;padding:3.5pt 5.4pt 4.5pt 5.4pt'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#word-automation'>Word Automation<\/a><\/td>\n<td style='border:solid windowtext 1.0pt;padding:3.5pt 5.4pt 4.5pt 5.4pt'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#word-automation-services'>Word Automation Services<\/a><\/td>\n<td style='border:solid windowtext 1.0pt;padding:3.5pt 5.4pt 4.5pt 5.4pt'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/td>\n<\/tr>\n<\/table>\n<p><a id='content-controls'\/><\/p>\n<h1>Content Controls Videos<\/h1>\n<h2 style='font-size: small;'><a href='https:\/\/www.ericwhite.com\/blog\/toc-expanded\/#content-controls'>All Topics<\/a><span style='position: relative; left: 1em;'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-condensed\/#content-controls'>Condensed TOC<\/a><\/span><\/h2>\n<table border='1' cellspacing='0' cellpadding='0' style='border-collapse:collapse;border:none;'>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Link<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Summary<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Keywords<\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/02\/video-of-use-of-document-generation-example\/' target='_blank'>Video of use of Document Generation Example<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>First version of this document generation system that is driven by C# code that you write in content controls in a Word document.  As an intro, he has recorded a small screen-cast that shows the doc gen system in action.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/08\/release-of-v1-of-simple-docx-generation-system\/' target='_blank'>Release of V1 of Simple DOCX Generation System<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This is a preliminary version of a simple DOCX generation system, which you can download, unzip, and try. This article lists two screen casts, first 90 second screen-cast shows how to run the doc gen system after you download and unzip the zip file.The second 2 1\/2 minute video shows using the document generation system at scale.  It shows generating 3000 documents in under a minute.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/15\/changing-the-schema-for-this-open-xml-document-generation-system\/' target='_blank'>Changing the Schema for this Open XML Document Generation System<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In the following screen cast shows the process of adjusting the XML data that drives the document generation system, as well as adjusting the template document to use that data.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/29\/release-of-v2-of-doc-gen-system-xpath-in-content-controls\/' target='_blank'>Release of V2 of Doc Gen System: XPath in Content Controls<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In this post, I release V2 of this simple document generation example. I provide a 2-minute screen-cast that shows the document generation process, generating 3000 documents in less than 30 seconds.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/04\/18\/change-the-schema-for-simple-free-doc-generation-system\/' target='_blank'>Change the Schema for Simple Free Doc Generation System<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Three minute screen-cast that demonstrates changing the schema for simple document generation system that you configure by placing XPath expressions in content controls.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/19\/whit-is-the-glossary-document-used-for.aspx\" target=\"_blank\" class=\"broken_link\">What is the glossary document used for?<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>The glossary part is used for the placeholder text for content controls.  In DOTX, it is used for the content for quick parts.  This 3 minute video demonstrates these two uses.  It also shows a little trick you can do with content controls and the glossary part.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/10\/03\/custom-xml-parts-and-content-controls.aspx\" target=\"_blank\" class=\"broken_link\">Custom XML Parts and Content Controls<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Using custom XML parts and content controls, we can create smarter documents that provide needed functionality for users.  Content controls and custom XML parts enable us to integrate business data with content in a document.  In addition, content controls can be used to delineate data or content in a document. <span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><a id='documentbuilder'\/><\/p>\n<h1>DocumentBuilder Videos<\/h1>\n<h2 style='font-size: small;'><a href='https:\/\/www.ericwhite.com\/blog\/toc-expanded\/#documentbuilder'>All Topics<\/a><span style='position: relative; left: 1em;'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-condensed\/#documentbuilder'>Condensed TOC<\/a><\/span><\/h2>\n<table border='1' cellspacing='0' cellpadding='0' style='border-collapse:collapse;border:none;'>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Link<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Summary<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Keywords<\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/07\/07\/introduction-to-documentbuilder-2-0-screen-cast-1-of-3.aspx\" target=\"_blank\" class=\"broken_link\">Introduction to DocumentBuilder 2.0 &#8211; Screen-Cast 1 of 3<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This post contains the first of three screen-casts that introduces DocumentBuilder 2.0, talks about interrelated markup, and explores how DocumentBuilder solves developer issues with regards to interrelated markup.  While this screen-cast is a bit long (20 minutes), it will be important for developers using DocumentBuilder who want to know how DocumentBuilder works.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#documentbuilder'>DocumentBuilder<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/07\/12\/introduction-to-documentbuilder-2-0-screen-cast-2-of-3.aspx\" target=\"_blank\" class=\"broken_link\">Introduction to DocumentBuilder 2.0 &#8211; Screen-Cast 2 of 3<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This screen-cast builds on the previous screen-cast where I walk through the process of transferring comments from multiple source documents into a destination document.  In this screen-cast, I insert images into the comments.  This introduces some complexity &#8211; the comments part has a relationship to an image part.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#documentbuilder'>DocumentBuilder<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/07\/14\/introduction-to-documentbuilder-2-0-screen-cast-3-of-3.aspx\" target=\"_blank\" class=\"broken_link\">Introduction to DocumentBuilder 2.0 &#8211; Screen-Cast 3 of 3<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This screen-cast builds on the previous two screen-casts where I walk through the process of transferring comments from multiple source documents into a destination document.  In this final screen-cast in the series, I walk through some of the code in DocumentBuilder 2.0 &#8211; I explain how the code is data-driven to make it more robust, and discuss the structure of the code and how DocumentBuilder 2.0 works.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#documentbuilder'>DocumentBuilder<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/18\/new-screen-cast-short-and-sweet-intro-to-documentbuilder-2-0.aspx\" target=\"_blank\" class=\"broken_link\">Short and Sweet Intro to DocumentBuilder 2.0<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This is a short screen-cast that explains what DocumentBuilder 2.0 is all about, in less than seven minutes.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#documentbuilder'>DocumentBuilder<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/09\/23\/advanced-use-of-documentbuilder-2-0.aspx\" target=\"_blank\" class=\"broken_link\">Advanced use of DocumentBuilder 2.0<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>The default approach to working with DocumentBuilder 2.0 enables you to take bits and pieces of multiple documents and assemble them together into a new document.  However, there is an interesting scenario that this approach does not handle.  You may want to import a document into a cell in a table, into a text box, or into a content control.  You can do this with DocumentBuilder 2.0.  This video shows how.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#documentbuilder'>DocumentBuilder<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><a id='docx-generation'\/><\/p>\n<h1>DOCX Generation Videos<\/h1>\n<h2 style='font-size: small;'><a href='https:\/\/www.ericwhite.com\/blog\/toc-expanded\/#docx-generation'>All Topics<\/a><span style='position: relative; left: 1em;'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-condensed\/#docx-generation'>Condensed TOC<\/a><\/span><\/h2>\n<table border='1' cellspacing='0' cellpadding='0' style='border-collapse:collapse;border:none;'>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Link<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Summary<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Keywords<\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/02\/video-of-use-of-document-generation-example\/' target='_blank'>Video of use of Document Generation Example<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>First version of this document generation system that is driven by C# code that you write in content controls in a Word document.  As an intro, he has recorded a small screen-cast that shows the doc gen system in action.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/08\/release-of-v1-of-simple-docx-generation-system\/' target='_blank'>Release of V1 of Simple DOCX Generation System<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This is a preliminary version of a simple DOCX generation system, which you can download, unzip, and try. This article lists two screen casts, first 90 second screen-cast shows how to run the doc gen system after you download and unzip the zip file.The second 2 1\/2 minute video shows using the document generation system at scale.  It shows generating 3000 documents in under a minute.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/15\/changing-the-schema-for-this-open-xml-document-generation-system\/' target='_blank'>Changing the Schema for this Open XML Document Generation System<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In the following screen cast shows the process of adjusting the XML data that drives the document generation system, as well as adjusting the template document to use that data.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/29\/release-of-v2-of-doc-gen-system-xpath-in-content-controls\/' target='_blank'>Release of V2 of Doc Gen System: XPath in Content Controls<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In this post, I release V2 of this simple document generation example. I provide a 2-minute screen-cast that shows the document generation process, generating 3000 documents in less than 30 seconds.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/04\/18\/change-the-schema-for-simple-free-doc-generation-system\/' target='_blank'>Change the Schema for Simple Free Doc Generation System<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Three minute screen-cast that demonstrates changing the schema for simple document generation system that you configure by placing XPath expressions in content controls.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><a id='functional-programming'\/><\/p>\n<h1>Functional Programming Videos<\/h1>\n<h2 style='font-size: small;'><a href='https:\/\/www.ericwhite.com\/blog\/toc-expanded\/#functional-programming'>All Topics<\/a><span style='position: relative; left: 1em;'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-condensed\/#functional-programming'>Condensed TOC<\/a><\/span><\/h2>\n<table border='1' cellspacing='0' cellpadding='0' style='border-collapse:collapse;border:none;'>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Link<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Summary<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Keywords<\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/11\/16\/screen-cast-functional-programming-utility-methods-and-classes-for-open-xml.aspx\" target=\"_blank\" class=\"broken_link\">Screen-Cast: Functional Programming Utility Methods and Classes for Open XML<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In the process of developing the PowerTools for Open XML, over the years, I have developed some needed core functionality and utility methods, particularly for writing LINQ to XML code that queries and transforms Open XML documents.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#functional-programming'>Functional Programming<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#linq'>LINQ<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#linq-to-xml'>LINQ to XML<\/a><\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><a id='introduction'\/><\/p>\n<h1>Introduction Videos<\/h1>\n<h2 style='font-size: small;'><a href='https:\/\/www.ericwhite.com\/blog\/toc-expanded\/#introduction'>All Topics<\/a><span style='position: relative; left: 1em;'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-condensed\/#introduction'>Condensed TOC<\/a><\/span><\/h2>\n<table border='1' cellspacing='0' cellpadding='0' style='border-collapse:collapse;border:none;'>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Link<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Summary<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Keywords<\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/09\/27\/use-the-open-xml-package-editor-together-with-word-to-research-markup.aspx\" target=\"_blank\" class=\"broken_link\">Use the Open XML Package Editor together with Word to Research Markup<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>A question was recently posed to me &#8211; what is the best way to look at markup and the rendering of the markup simultaneously.  This is important, for instance, when you are experimenting with markup and determining the exact markup that you want to generate.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#introduction'>Introduction<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/10\/13\/getting-started-with-open-xml-development.aspx\" target=\"_blank\" class=\"broken_link\">Getting Started with Open XML Development<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This is the first in a series of screen-casts that are specifically for a developer starting development with Open XML for the first time.  If you are starting out in Open XML development, watch this first.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#introduction'>Introduction<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/10\/24\/getting-started-with-open-xml-development-part-ii-tools.aspx\" target=\"_blank\" class=\"broken_link\">Getting Started with Open XML Development &#8211; Part II Tools<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In this screen-cast, I introduce the three most important tools that you will want to be familiar with: 1) Open XML Package Editor Power Tool for Visual Studio, 2) Open XML SDK 2.0 Productivity Tool, 3) PowerTools for Open XML.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#introduction'>Introduction<\/a><\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><a id='linq'\/><\/p>\n<h1>LINQ Videos<\/h1>\n<h2 style='font-size: small;'><a href='https:\/\/www.ericwhite.com\/blog\/toc-expanded\/#linq'>All Topics<\/a><span style='position: relative; left: 1em;'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-condensed\/#linq'>Condensed TOC<\/a><\/span><\/h2>\n<table border='1' cellspacing='0' cellpadding='0' style='border-collapse:collapse;border:none;'>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Link<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Summary<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Keywords<\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/11\/16\/screen-cast-functional-programming-utility-methods-and-classes-for-open-xml.aspx\" target=\"_blank\" class=\"broken_link\">Screen-Cast: Functional Programming Utility Methods and Classes for Open XML<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In the process of developing the PowerTools for Open XML, over the years, I have developed some needed core functionality and utility methods, particularly for writing LINQ to XML code that queries and transforms Open XML documents.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#functional-programming'>Functional Programming<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#linq'>LINQ<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#linq-to-xml'>LINQ to XML<\/a><\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><a id='linq-to-xml'\/><\/p>\n<h1>LINQ to XML Videos<\/h1>\n<h2 style='font-size: small;'><a href='https:\/\/www.ericwhite.com\/blog\/toc-expanded\/#linq-to-xml'>All Topics<\/a><span style='position: relative; left: 1em;'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-condensed\/#linq-to-xml'>Condensed TOC<\/a><\/span><\/h2>\n<table border='1' cellspacing='0' cellpadding='0' style='border-collapse:collapse;border:none;'>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Link<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Summary<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Keywords<\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/11\/16\/screen-cast-functional-programming-utility-methods-and-classes-for-open-xml.aspx\" target=\"_blank\" class=\"broken_link\">Screen-Cast: Functional Programming Utility Methods and Classes for Open XML<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In the process of developing the PowerTools for Open XML, over the years, I have developed some needed core functionality and utility methods, particularly for writing LINQ to XML code that queries and transforms Open XML documents.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#functional-programming'>Functional Programming<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#linq'>LINQ<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#linq-to-xml'>LINQ to XML<\/a><\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><a id='office-automation'\/><\/p>\n<h1>Office Automation Videos<\/h1>\n<h2 style='font-size: small;'><a href='https:\/\/www.ericwhite.com\/blog\/toc-expanded\/#office-automation'>All Topics<\/a><span style='position: relative; left: 1em;'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-condensed\/#office-automation'>Condensed TOC<\/a><\/span><\/h2>\n<table border='1' cellspacing='0' cellpadding='0' style='border-collapse:collapse;border:none;'>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Link<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Summary<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Keywords<\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/15\/exploring-tables-of-contents-in-open-xml-wordprocessingml-documents-part-3.aspx\" target=\"_blank\" class=\"broken_link\">Exploring Tables-of-Contents in Open XML WordprocessingML Documents (Part 3)<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In this screen-cast, I show how you can use Word Automation to open and save the document, thereby causing all fields to be updated, including the TOC.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#word-automation'>Word Automation<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#office-automation'>Office Automation<\/a><\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><a id='open-xml-sdk'\/><\/p>\n<h1>Open XML SDK Videos<\/h1>\n<h2 style='font-size: small;'><a href='https:\/\/www.ericwhite.com\/blog\/toc-expanded\/#open-xml-sdk'>All Topics<\/a><span style='position: relative; left: 1em;'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-condensed\/#open-xml-sdk'>Condensed TOC<\/a><\/span><\/h2>\n<table border='1' cellspacing='0' cellpadding='0' style='border-collapse:collapse;border:none;'>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Link<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Summary<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Keywords<\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/02\/video-of-use-of-document-generation-example\/' target='_blank'>Video of use of Document Generation Example<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>First version of this document generation system that is driven by C# code that you write in content controls in a Word document.  As an intro, he has recorded a small screen-cast that shows the doc gen system in action.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/08\/release-of-v1-of-simple-docx-generation-system\/' target='_blank'>Release of V1 of Simple DOCX Generation System<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This is a preliminary version of a simple DOCX generation system, which you can download, unzip, and try. This article lists two screen casts, first 90 second screen-cast shows how to run the doc gen system after you download and unzip the zip file.The second 2 1\/2 minute video shows using the document generation system at scale.  It shows generating 3000 documents in under a minute.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/09\/getting-started-with-open-xml-powertools-markup-simplifier\/' target='_blank'>Getting Started with Open XML PowerTools Markup Simplifier<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In PowerTools, in the HtmlConverter project, there is a class called MarkupSimplifier, which can remove proofing errors.  In addition, it can simplify WordprocessingML markup in a variety of ways, including removal of comments, content controls, and etc.<br \/>\nHere is a small screen-cast that shows the use of MarkupSimplifier.  This screen-cast uses Open XML Package Editor Power Tool for Visual Studio 2010.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/15\/changing-the-schema-for-this-open-xml-document-generation-system\/' target='_blank'>Changing the Schema for this Open XML Document Generation System<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In the following screen cast shows the process of adjusting the XML data that drives the document generation system, as well as adjusting the template document to use that data.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/29\/release-of-v2-of-doc-gen-system-xpath-in-content-controls\/' target='_blank'>Release of V2 of Doc Gen System: XPath in Content Controls<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In this post, I release V2 of this simple document generation example. I provide a 2-minute screen-cast that shows the document generation process, generating 3000 documents in less than 30 seconds.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/29\/update-data-behind-an-embedded-chart-in-an-open-xml-wordprocessingml-document\/' target='_blank'>Update Data behind an embedded Chart in an Open XML WordprocessingML Document<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>11 minute video that walks through the process of embedding a chart in a word-processing document, and then programmatically updating that data so that the chart reflects the new data.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/04\/01\/133710.aspx\" target=\"_blank\" class=\"broken_link\">How to Solve Open XML Developer Problems<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This screen-cast shows the general approach that I use to solve Open XML developer problems. The general gist of the approach is that I create two documents, one without the feature of interest, and one with. I then use the <a href=\"http:\/\/www.microsoft.com\/downloads\/en\/details.aspx?FamilyId=C6E744E5-36E9-45F5-8D8C-331DF206E0D0&amp;displaylang=en\" class=\"broken_link\">Open XML SDK productivity tool<\/a> to compare the two and find out the differences. I then use the <a href=\"http:\/\/visualstudiogallery.msdn.microsoft.com\/450a00e3-5a7d-4776-be2c-8aa8cec2a75b\">Open XML Package Editor Power Tool for Visual Studio 2010<\/a> to examine the markup, and I use the PDF form of the <a href=\"http:\/\/www.ecma-international.org\/publications\/standards\/Ecma-376.htm\" class=\"broken_link\">ECMA 376 Second Edition Part 1<\/a> to research the markup.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#sdk-productivity-tool'>SDK Productivity Tool<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/archive\/2011\/04\/15\/139098.aspx\" target=\"_blank\" class=\"broken_link\">How to Create Protected Spreadsheets with Locked and Unlocked Cells<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>7-minute video that shows markup related to protected sheets with locked and unlocked cells.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#spreadsheetml'>SpreadsheetML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/04\/18\/change-the-schema-for-simple-free-doc-generation-system\/' target='_blank'>Change the Schema for Simple Free Doc Generation System<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Three minute screen-cast that demonstrates changing the schema for simple document generation system that you configure by placing XPath expressions in content controls.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/archive\/2011\/04\/22\/141825.aspx\" target=\"_blank\" class=\"broken_link\">Open XML Markup Simplifier Application makes it easier to research WordprocessingML<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This article describes WinForms Application that makes it easier to research OpenXML markup, by creating documents, altering documents, and then comparing the two documents. The MarkupSimplifier class (which is part of the PowerTools for Open XML project) can help, but as downloaded from CodePlex it is simply a class.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/archive\/2011\/04\/25\/143067.aspx\" target=\"_blank\" class=\"broken_link\">In-Depth Exploration of WordprocessingML Fields<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>First video in a two-part series that explains how field markup works.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/archive\/2011\/04\/27\/143766.aspx\" target=\"_blank\" class=\"broken_link\">In-Depth Exploration of WordprocessingML Fields &#8211; Part 2<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>See how to use a MarkupSimplifier utility program to make field markup more understandable. In walk through two cases where fields can be embedded in other fields.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/05\/04\/screen-cast-exploring-margins-in-open-xml-wordprocessingml-documents\/' target='_blank'>Screen-cast: Exploring Margins in Open XML WordprocessingML Documents<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This blog has recorded short screen-cast that explores some approaches to setting margins in a word-processing document.  It shows setting margins for cells, paragraphs, and sections.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/archive\/2011\/05\/04\/145745.aspx\" target=\"_blank\" class=\"broken_link\">Exploring Margins in Open XML WordprocessingML Documents<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Article has a short screen-cast that shows the markup for various ways of setting margins &#8211; for cells, paragraphs, and sections. In addition, the video shows general approach for researching Open XML markup.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/05\/10\/using-xml-dom-to-detect-tracked-revisions-in-an-open-xml-wordprocessingml-document\/' target='_blank'>Using XML DOM to Detect Tracked Revisions in an Open XML WordprocessingML Document<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Using XML DOM to Detect Tracked Revisions in an Open XML WordprocessingML Document<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/05\/12\/search-and-replace-text-in-an-open-xml-wordprocessingml-document\/' target='_blank'>Search and Replace Text in an Open XML WordprocessingML Document<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Search and Replace Text in an Open XML WordprocessingML Document<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/06\/13\/open-xml-presentation-generation-using-a-template-presentation.aspx\" target=\"_blank\" class=\"broken_link\">Open XML Presentation Generation using a Template Presentation<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Article discusses an approach of creating an Open XML template presentation that you can use to generate multiple presentations from data. <span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#presentationml'>PresentationML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#pptx-generation'>PPTX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><a id='openxml'\/><\/p>\n<h1>OpenXML Videos<\/h1>\n<h2 style='font-size: small;'><a href='https:\/\/www.ericwhite.com\/blog\/toc-expanded\/#openxml'>All Topics<\/a><span style='position: relative; left: 1em;'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-condensed\/#openxml'>Condensed TOC<\/a><\/span><\/h2>\n<table border='1' cellspacing='0' cellpadding='0' style='border-collapse:collapse;border:none;'>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Link<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Summary<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Keywords<\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/02\/video-of-use-of-document-generation-example\/' target='_blank'>Video of use of Document Generation Example<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>First version of this document generation system that is driven by C# code that you write in content controls in a Word document.  As an intro, he has recorded a small screen-cast that shows the doc gen system in action.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/08\/release-of-v1-of-simple-docx-generation-system\/' target='_blank'>Release of V1 of Simple DOCX Generation System<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This is a preliminary version of a simple DOCX generation system, which you can download, unzip, and try. This article lists two screen casts, first 90 second screen-cast shows how to run the doc gen system after you download and unzip the zip file.The second 2 1\/2 minute video shows using the document generation system at scale.  It shows generating 3000 documents in under a minute.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/09\/getting-started-with-open-xml-powertools-markup-simplifier\/' target='_blank'>Getting Started with Open XML PowerTools Markup Simplifier<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In PowerTools, in the HtmlConverter project, there is a class called MarkupSimplifier, which can remove proofing errors.  In addition, it can simplify WordprocessingML markup in a variety of ways, including removal of comments, content controls, and etc.<br \/>\nHere is a small screen-cast that shows the use of MarkupSimplifier.  This screen-cast uses Open XML Package Editor Power Tool for Visual Studio 2010.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/15\/changing-the-schema-for-this-open-xml-document-generation-system\/' target='_blank'>Changing the Schema for this Open XML Document Generation System<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In the following screen cast shows the process of adjusting the XML data that drives the document generation system, as well as adjusting the template document to use that data.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/03\/28\/132189.aspx\" target=\"_blank\" class=\"broken_link\">Updating Data for an Embedded Chart in an Open XML WordprocessingML Document<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Embedding charts in a word-processing document is a good way to put together documents that display graphical data. When you embed a chart in a document, an Open XML SpreadsheetML workbook is stored as an embedded part in the WordprocessingML document. The spreadsheet contains the data behind the chart. When you maintain that data, Word starts Excel, opening that embedded spreadsheet.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#spreadsheetml'>SpreadsheetML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/29\/release-of-v2-of-doc-gen-system-xpath-in-content-controls\/' target='_blank'>Release of V2 of Doc Gen System: XPath in Content Controls<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In this post, I release V2 of this simple document generation example. I provide a 2-minute screen-cast that shows the document generation process, generating 3000 documents in less than 30 seconds.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/29\/update-data-behind-an-embedded-chart-in-an-open-xml-wordprocessingml-document\/' target='_blank'>Update Data behind an embedded Chart in an Open XML WordprocessingML Document<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>11 minute video that walks through the process of embedding a chart in a word-processing document, and then programmatically updating that data so that the chart reflects the new data.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/04\/01\/133710.aspx\" target=\"_blank\" class=\"broken_link\">How to Solve Open XML Developer Problems<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This screen-cast shows the general approach that I use to solve Open XML developer problems. The general gist of the approach is that I create two documents, one without the feature of interest, and one with. I then use the <a href=\"http:\/\/www.microsoft.com\/downloads\/en\/details.aspx?FamilyId=C6E744E5-36E9-45F5-8D8C-331DF206E0D0&amp;displaylang=en\" class=\"broken_link\">Open XML SDK productivity tool<\/a> to compare the two and find out the differences. I then use the <a href=\"http:\/\/visualstudiogallery.msdn.microsoft.com\/450a00e3-5a7d-4776-be2c-8aa8cec2a75b\">Open XML Package Editor Power Tool for Visual Studio 2010<\/a> to examine the markup, and I use the PDF form of the <a href=\"http:\/\/www.ecma-international.org\/publications\/standards\/Ecma-376.htm\" class=\"broken_link\">ECMA 376 Second Edition Part 1<\/a> to research the markup.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#sdk-productivity-tool'>SDK Productivity Tool<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/archive\/2011\/04\/15\/139098.aspx\" target=\"_blank\" class=\"broken_link\">How to Create Protected Spreadsheets with Locked and Unlocked Cells<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>7-minute video that shows markup related to protected sheets with locked and unlocked cells.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#spreadsheetml'>SpreadsheetML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/04\/18\/change-the-schema-for-simple-free-doc-generation-system\/' target='_blank'>Change the Schema for Simple Free Doc Generation System<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Three minute screen-cast that demonstrates changing the schema for simple document generation system that you configure by placing XPath expressions in content controls.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/archive\/2011\/04\/22\/141825.aspx\" target=\"_blank\" class=\"broken_link\">Open XML Markup Simplifier Application makes it easier to research WordprocessingML<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This article describes WinForms Application that makes it easier to research OpenXML markup, by creating documents, altering documents, and then comparing the two documents. The MarkupSimplifier class (which is part of the PowerTools for Open XML project) can help, but as downloaded from CodePlex it is simply a class.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/04\/22\/141825.aspx\" target=\"_blank\" class=\"broken_link\">Open XML Markup Simplifier Application makes it easier to research WordprocessingML<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Sometimes when researching and examining Open XML WordprocessingML markup, extraneous markup that is not relevant to the issue at hand gets in the way of seeing what is going on. If you are researching markup by creating documents, altering documents, and then comparing the two documents, as detailed in <a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/04\/01\/133710.aspx\" class=\"broken_link\">How to Solve Open XML Developer Problems<\/a>, your research process is made significantly easier by simplifying the markup before comparing.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/archive\/2011\/04\/25\/143067.aspx\" target=\"_blank\" class=\"broken_link\">In-Depth Exploration of WordprocessingML Fields<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>First video in a two-part series that explains how field markup works.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/archive\/2011\/04\/27\/143766.aspx\" target=\"_blank\" class=\"broken_link\">In-Depth Exploration of WordprocessingML Fields &#8211; Part 2<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>See how to use a MarkupSimplifier utility program to make field markup more understandable. In walk through two cases where fields can be embedded in other fields.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/05\/04\/screen-cast-exploring-margins-in-open-xml-wordprocessingml-documents\/' target='_blank'>Screen-cast: Exploring Margins in Open XML WordprocessingML Documents<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This blog has recorded short screen-cast that explores some approaches to setting margins in a word-processing document.  It shows setting margins for cells, paragraphs, and sections.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/archive\/2011\/05\/04\/145745.aspx\" target=\"_blank\" class=\"broken_link\">Exploring Margins in Open XML WordprocessingML Documents<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Article has a short screen-cast that shows the markup for various ways of setting margins &#8211; for cells, paragraphs, and sections. In addition, the video shows general approach for researching Open XML markup.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/05\/10\/using-xml-dom-to-detect-tracked-revisions-in-an-open-xml-wordprocessingml-document\/' target='_blank'>Using XML DOM to Detect Tracked Revisions in an Open XML WordprocessingML Document<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Using XML DOM to Detect Tracked Revisions in an Open XML WordprocessingML Document<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/05\/12\/search-and-replace-text-in-an-open-xml-wordprocessingml-document\/' target='_blank'>Search and Replace Text in an Open XML WordprocessingML Document<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Search and Replace Text in an Open XML WordprocessingML Document<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/05\/31\/155543.aspx\" target=\"_blank\" class=\"broken_link\">Exploring Table Markup in Open XML SpreadsheetML<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Tables are a convenient and useful feature of Open XML SpreadsheetML. This post explores table markup, and links to a screen-cast that shows how to create a table programmatically<br \/>\n<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#spreadsheetml'>SpreadsheetML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/06\/13\/open-xml-presentation-generation-using-a-template-presentation.aspx\" target=\"_blank\" class=\"broken_link\">Open XML Presentation Generation using a Template Presentation<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Article discusses an approach of creating an Open XML template presentation that you can use to generate multiple presentations from data. <span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#presentationml'>PresentationML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#pptx-generation'>PPTX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/07\/07\/introduction-to-documentbuilder-2-0-screen-cast-1-of-3.aspx\" target=\"_blank\" class=\"broken_link\">Introduction to DocumentBuilder 2.0 &#8211; Screen-Cast 1 of 3<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This post contains the first of three screen-casts that introduces DocumentBuilder 2.0, talks about interrelated markup, and explores how DocumentBuilder solves developer issues with regards to interrelated markup.  While this screen-cast is a bit long (20 minutes), it will be important for developers using DocumentBuilder who want to know how DocumentBuilder works.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#documentbuilder'>DocumentBuilder<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/07\/12\/introduction-to-documentbuilder-2-0-screen-cast-2-of-3.aspx\" target=\"_blank\" class=\"broken_link\">Introduction to DocumentBuilder 2.0 &#8211; Screen-Cast 2 of 3<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This screen-cast builds on the previous screen-cast where I walk through the process of transferring comments from multiple source documents into a destination document.  In this screen-cast, I insert images into the comments.  This introduces some complexity &#8211; the comments part has a relationship to an image part.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#documentbuilder'>DocumentBuilder<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/07\/14\/introduction-to-documentbuilder-2-0-screen-cast-3-of-3.aspx\" target=\"_blank\" class=\"broken_link\">Introduction to DocumentBuilder 2.0 &#8211; Screen-Cast 3 of 3<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This screen-cast builds on the previous two screen-casts where I walk through the process of transferring comments from multiple source documents into a destination document.  In this final screen-cast in the series, I walk through some of the code in DocumentBuilder 2.0 &#8211; I explain how the code is data-driven to make it more robust, and discuss the structure of the code and how DocumentBuilder 2.0 works.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#documentbuilder'>DocumentBuilder<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/07\/18\/query-open-xml-spreadsheets-in-vb-net-using-linq.aspx\" target=\"_blank\" class=\"broken_link\">Query Open XML Spreadsheets in VB.NET using LINQ<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>When working with SpreadsheetML, one of the most common needs is to retrieve the data from a worksheet or a table in as easy a fashion as possible.  There has been a fair amount written for C# developers to do this, but not nearly as much for VB.NET.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#spreadsheetml'>SpreadsheetML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/04\/introducing-textreplacer-a-new-class-for-powertools-for-open-xml.aspx\" target=\"_blank\" class=\"broken_link\">Introducing TextReplacer: A New Class for PowerTools for Open XML<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This code to search-and-replace in an Open XML WordprocessingML document uses LINQ to XML to implement a functional transform.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/08\/exploring-tables-of-contents-in-open-xml-wordprocessingml-documents.aspx\" target=\"_blank\" class=\"broken_link\">Exploring Tables-of-Contents in Open XML WordprocessingML Documents<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Many Open XML developers need to generate documents, and then generate and insert an updated table-of-content for the document.  TOC&#8217;s in Open XML are not hard, but they require a bit of explanation.  This blog post introduces the first of several screen-casts around Open XML WordprocessingML TOCs.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/10\/exploring-tables-of-contents-in-open-xml-wordprocessingml-documents-part-2.aspx\" target=\"_blank\" class=\"broken_link\">Exploring Tables-of-Contents in Open XML WordprocessingML Documents (Part 2)<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In this screen-cast, I discuss a bit more about the markup, and then walk through some example code that is part of the PowerTools for Open XML project.  The example code shows how to insert a TOC at a desired point in a document, and then set the <w:updateFields> element.  Then, when the user next opens that document, Word will present them with the option to repaginate and update the TOC.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/15\/exploring-tables-of-contents-in-open-xml-wordprocessingml-documents-part-3.aspx\" target=\"_blank\" class=\"broken_link\">Exploring Tables-of-Contents in Open XML WordprocessingML Documents (Part 3)<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In this screen-cast, I show how you can use Word Automation to open and save the document, thereby causing all fields to be updated, including the TOC.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#word-automation'>Word Automation<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#office-automation'>Office Automation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/16\/screen-cast-remove-speaker-notes-from-an-open-xml-presentation.aspx\" target=\"_blank\" class=\"broken_link\">Remove Speaker Notes from an Open XML Presentation<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>When sending a presentation to customers or others outside of your organization, you often want to remove speaker notes.  It is easy enough to use <a href=\"http:\/\/blogs.msdn.com\/b\/ericwhite\/archive\/2010\/05\/05\/removing-speaker-notes-from-a-set-of-powerpoint-presentations.aspx\" class=\"broken_link\">PowerPoint automation to remove the speaker notes<\/a>, but if you are processing presentations server-side, you probably don&#8217;t want to rely on automation to accomplish this task.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#presentationml'>PresentationML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/18\/new-screen-cast-short-and-sweet-intro-to-documentbuilder-2-0.aspx\" target=\"_blank\" class=\"broken_link\">Short and Sweet Intro to DocumentBuilder 2.0<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This is a short screen-cast that explains what DocumentBuilder 2.0 is all about, in less than seven minutes.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#documentbuilder'>DocumentBuilder<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/19\/whit-is-the-glossary-document-used-for.aspx\" target=\"_blank\" class=\"broken_link\">What is the glossary document used for?<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>The glossary part is used for the placeholder text for content controls.  In DOTX, it is used for the content for quick parts.  This 3 minute video demonstrates these two uses.  It also shows a little trick you can do with content controls and the glossary part.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/08\/22\/fourth-and-final-screen-cast-in-series-on-addingupdating-the-toc-in-openxml-wordprocessingml-documents\/' target='_blank'>Adding\/Updating the TOC in OpenXML WordprocessingML Documents (4th Screen-cast<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Shows how to use Word Automation Services to repaginate a document and update the table-of-contents.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#word-automation-services'>Word Automation Services<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/24\/updating-the-toc-in-a-wordprocessingml-document-using-an-autoopen-macro.aspx\" target=\"_blank\" class=\"broken_link\">Updating the TOC in a WordprocessingML Document using an AutoOpen Macro<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In the screen-cast that I present in this post, I show how you can add a TOC using the Open XML SDK, and then modify the normal.dotx, adding a macro, so that whenever you open a document that contains a TOC, Word repaginates the document and updates the TOC. <span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#vba'>VBA<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#word-automation'>Word Automation<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/09\/01\/how-to-retrieve-the-text-of-a-bookmark-from-an-openxml-wordprocessingml-document.aspx\" target=\"_blank\" class=\"broken_link\">How to Retrieve the Text of a Bookmark from an OpenXML WordprocessingML Document<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Sometimes developers use bookmarks to delineate text in an OpenXML WordprocessingML document.  Then, as part of a larger system, they want to retrieve the text of that bookmark to process in some fashion. <span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/09\/06\/replacing-text-of-a-bookmark-in-an-openxml-wordprocessingml-document.aspx\" target=\"_blank\" class=\"broken_link\">Replacing Text of a Bookmark in an OpenXML WordprocessingML Document<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In a <a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/09\/01\/how-to-retrieve-the-text-of-a-bookmark-from-an-openxml-wordprocessingml-document.aspx\" class=\"broken_link\">previous screen-cast<\/a>, I showed how to retrieve the text of an OpenXML WordprocessingML document.  In this post and screen-cast, I introduce some code that enables you to replace the text of a bookmark.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/09\/23\/advanced-use-of-documentbuilder-2-0.aspx\" target=\"_blank\" class=\"broken_link\">Advanced use of DocumentBuilder 2.0<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>The default approach to working with DocumentBuilder 2.0 enables you to take bits and pieces of multiple documents and assemble them together into a new document.  However, there is an interesting scenario that this approach does not handle.  You may want to import a document into a cell in a table, into a text box, or into a content control.  You can do this with DocumentBuilder 2.0.  This video shows how.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#documentbuilder'>DocumentBuilder<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/09\/27\/use-the-open-xml-package-editor-together-with-word-to-research-markup.aspx\" target=\"_blank\" class=\"broken_link\">Use the Open XML Package Editor together with Word to Research Markup<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>A question was recently posed to me &#8211; what is the best way to look at markup and the rendering of the markup simultaneously.  This is important, for instance, when you are experimenting with markup and determining the exact markup that you want to generate.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#introduction'>Introduction<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/10\/03\/custom-xml-parts-and-content-controls.aspx\" target=\"_blank\" class=\"broken_link\">Custom XML Parts and Content Controls<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Using custom XML parts and content controls, we can create smarter documents that provide needed functionality for users.  Content controls and custom XML parts enable us to integrate business data with content in a document.  In addition, content controls can be used to delineate data or content in a document. <span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/10\/12\/exploring-the-set-openxmlstring-cmdlet-in-powertools-for-open-xml-2-2.aspx\" target=\"_blank\" class=\"broken_link\">Exploring the Set-OpenXmlString CMDLET in PowerTools for Open XML 2.2<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>The Set-OpenXmlString cmdlet enables interesting functionality &#8211; you can do a search-and-replace of content without automating Word, and you can search-and-replace in many documents at once.  The Set-OpenXmlString can search-and-replace in both WordprocessingML documents and PresentationML documents. <span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#presentationml'>PresentationML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/10\/13\/getting-started-with-open-xml-development.aspx\" target=\"_blank\" class=\"broken_link\">Getting Started with Open XML Development<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This is the first in a series of screen-casts that are specifically for a developer starting development with Open XML for the first time.  If you are starting out in Open XML development, watch this first.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#introduction'>Introduction<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/10\/24\/getting-started-with-open-xml-development-part-ii-tools.aspx\" target=\"_blank\" class=\"broken_link\">Getting Started with Open XML Development &#8211; Part II Tools<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In this screen-cast, I introduce the three most important tools that you will want to be familiar with: 1) Open XML Package Editor Power Tool for Visual Studio, 2) Open XML SDK 2.0 Productivity Tool, 3) PowerTools for Open XML.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#introduction'>Introduction<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/11\/03\/merge-comments-from-multiple-openxml-wordprocessingml-documents-into-a-single-document.aspx\" target=\"_blank\" class=\"broken_link\">Merge Comments from Multiple OpenXML WordprocessingML Documents into a Single Document<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Introduces code that shows how to merge comments from multiple WordprocessingML documents into a single document.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/11\/07\/new-screen-cast-on-the-split-openxmldocument-cmdlet-in-powertools-for-open-xml.aspx\" target=\"_blank\" class=\"broken_link\">Split-OpenXmlDocument cmdlet in PowerTools for Open XML<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In document processing parlance, shredding a document is the process of dividing a source document according to certain rules, and creating a number of documents from the source document.  This is useful, for instance, when you have a huge document, and you want to divide it into multiple documents to hand off to different authors or editors.  Then, after all edits have been completed, you can merge the various parts back into a complete document.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/11\/14\/exploring-the-markup-for-bibliographies-in-openxml-wordprocessingml.aspx\" target=\"_blank\" class=\"broken_link\">Exploring the Markup for Bibliographies in OpenXML WordprocessingML<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This screen-cast walks through bibliography markup.  Bibliographies use custom XML parts, so in addition to showing the field markup for citations and the generated bibliography, the screen-cast discusses the mechanism by which you can determine the purpose of any particular custom XML part. <span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/11\/16\/screen-cast-functional-programming-utility-methods-and-classes-for-open-xml.aspx\" target=\"_blank\" class=\"broken_link\">Screen-Cast: Functional Programming Utility Methods and Classes for Open XML<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In the process of developing the PowerTools for Open XML, over the years, I have developed some needed core functionality and utility methods, particularly for writing LINQ to XML code that queries and transforms Open XML documents.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#functional-programming'>Functional Programming<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#linq'>LINQ<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#linq-to-xml'>LINQ to XML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/11\/18\/screen-cast-sections-headers-and-footers.aspx\" target=\"_blank\" class=\"broken_link\">Screen-Cast: Sections, Headers, and Footers<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>When generating documents, you sometimes will want to create documents with multiple sections, so that you can control page layout separately for each section.  In addition, you sometimes will want to create headers and footers for each section. <span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/11\/22\/screen-cast-write-simpler-spreadsheetml-when-generating-spreadsheets.aspx\" target=\"_blank\" class=\"broken_link\">Screen-Cast: Write Simpler SpreadsheetML when Generating Spreadsheets<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This screen-cast presents a small tip that can make it easier to write code to generate SpreadsheetML.  You can avoid the complications of updating the shared string table by using the idea in this tip.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#spreadsheetml'>SpreadsheetML<\/a><\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><a id='powertools'\/><\/p>\n<h1>PowerTools Videos<\/h1>\n<h2 style='font-size: small;'><a href='https:\/\/www.ericwhite.com\/blog\/toc-expanded\/#powertools'>All Topics<\/a><span style='position: relative; left: 1em;'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-condensed\/#powertools'>Condensed TOC<\/a><\/span><\/h2>\n<table border='1' cellspacing='0' cellpadding='0' style='border-collapse:collapse;border:none;'>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Link<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Summary<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Keywords<\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/09\/getting-started-with-open-xml-powertools-markup-simplifier\/' target='_blank'>Getting Started with Open XML PowerTools Markup Simplifier<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In PowerTools, in the HtmlConverter project, there is a class called MarkupSimplifier, which can remove proofing errors.  In addition, it can simplify WordprocessingML markup in a variety of ways, including removal of comments, content controls, and etc.<br \/>\nHere is a small screen-cast that shows the use of MarkupSimplifier.  This screen-cast uses Open XML Package Editor Power Tool for Visual Studio 2010.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/04\/22\/141825.aspx\" target=\"_blank\" class=\"broken_link\">Open XML Markup Simplifier Application makes it easier to research WordprocessingML<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Sometimes when researching and examining Open XML WordprocessingML markup, extraneous markup that is not relevant to the issue at hand gets in the way of seeing what is going on. If you are researching markup by creating documents, altering documents, and then comparing the two documents, as detailed in <a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/04\/01\/133710.aspx\" class=\"broken_link\">How to Solve Open XML Developer Problems<\/a>, your research process is made significantly easier by simplifying the markup before comparing.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/07\/07\/introduction-to-documentbuilder-2-0-screen-cast-1-of-3.aspx\" target=\"_blank\" class=\"broken_link\">Introduction to DocumentBuilder 2.0 &#8211; Screen-Cast 1 of 3<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This post contains the first of three screen-casts that introduces DocumentBuilder 2.0, talks about interrelated markup, and explores how DocumentBuilder solves developer issues with regards to interrelated markup.  While this screen-cast is a bit long (20 minutes), it will be important for developers using DocumentBuilder who want to know how DocumentBuilder works.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#documentbuilder'>DocumentBuilder<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/07\/12\/introduction-to-documentbuilder-2-0-screen-cast-2-of-3.aspx\" target=\"_blank\" class=\"broken_link\">Introduction to DocumentBuilder 2.0 &#8211; Screen-Cast 2 of 3<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This screen-cast builds on the previous screen-cast where I walk through the process of transferring comments from multiple source documents into a destination document.  In this screen-cast, I insert images into the comments.  This introduces some complexity &#8211; the comments part has a relationship to an image part.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#documentbuilder'>DocumentBuilder<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/07\/14\/introduction-to-documentbuilder-2-0-screen-cast-3-of-3.aspx\" target=\"_blank\" class=\"broken_link\">Introduction to DocumentBuilder 2.0 &#8211; Screen-Cast 3 of 3<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This screen-cast builds on the previous two screen-casts where I walk through the process of transferring comments from multiple source documents into a destination document.  In this final screen-cast in the series, I walk through some of the code in DocumentBuilder 2.0 &#8211; I explain how the code is data-driven to make it more robust, and discuss the structure of the code and how DocumentBuilder 2.0 works.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#documentbuilder'>DocumentBuilder<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/04\/introducing-textreplacer-a-new-class-for-powertools-for-open-xml.aspx\" target=\"_blank\" class=\"broken_link\">Introducing TextReplacer: A New Class for PowerTools for Open XML<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This code to search-and-replace in an Open XML WordprocessingML document uses LINQ to XML to implement a functional transform.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/18\/new-screen-cast-short-and-sweet-intro-to-documentbuilder-2-0.aspx\" target=\"_blank\" class=\"broken_link\">Short and Sweet Intro to DocumentBuilder 2.0<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This is a short screen-cast that explains what DocumentBuilder 2.0 is all about, in less than seven minutes.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#documentbuilder'>DocumentBuilder<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/09\/23\/advanced-use-of-documentbuilder-2-0.aspx\" target=\"_blank\" class=\"broken_link\">Advanced use of DocumentBuilder 2.0<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>The default approach to working with DocumentBuilder 2.0 enables you to take bits and pieces of multiple documents and assemble them together into a new document.  However, there is an interesting scenario that this approach does not handle.  You may want to import a document into a cell in a table, into a text box, or into a content control.  You can do this with DocumentBuilder 2.0.  This video shows how.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#documentbuilder'>DocumentBuilder<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/10\/12\/exploring-the-set-openxmlstring-cmdlet-in-powertools-for-open-xml-2-2.aspx\" target=\"_blank\" class=\"broken_link\">Exploring the Set-OpenXmlString CMDLET in PowerTools for Open XML 2.2<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>The Set-OpenXmlString cmdlet enables interesting functionality &#8211; you can do a search-and-replace of content without automating Word, and you can search-and-replace in many documents at once.  The Set-OpenXmlString can search-and-replace in both WordprocessingML documents and PresentationML documents. <span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#presentationml'>PresentationML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/11\/03\/merge-comments-from-multiple-openxml-wordprocessingml-documents-into-a-single-document.aspx\" target=\"_blank\" class=\"broken_link\">Merge Comments from Multiple OpenXML WordprocessingML Documents into a Single Document<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Introduces code that shows how to merge comments from multiple WordprocessingML documents into a single document.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/11\/07\/new-screen-cast-on-the-split-openxmldocument-cmdlet-in-powertools-for-open-xml.aspx\" target=\"_blank\" class=\"broken_link\">Split-OpenXmlDocument cmdlet in PowerTools for Open XML<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In document processing parlance, shredding a document is the process of dividing a source document according to certain rules, and creating a number of documents from the source document.  This is useful, for instance, when you have a huge document, and you want to divide it into multiple documents to hand off to different authors or editors.  Then, after all edits have been completed, you can merge the various parts back into a complete document.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/11\/16\/screen-cast-functional-programming-utility-methods-and-classes-for-open-xml.aspx\" target=\"_blank\" class=\"broken_link\">Screen-Cast: Functional Programming Utility Methods and Classes for Open XML<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In the process of developing the PowerTools for Open XML, over the years, I have developed some needed core functionality and utility methods, particularly for writing LINQ to XML code that queries and transforms Open XML documents.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#functional-programming'>Functional Programming<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#linq'>LINQ<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#linq-to-xml'>LINQ to XML<\/a><\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><a id='pptx-generation'\/><\/p>\n<h1>PPTX Generation Videos<\/h1>\n<h2 style='font-size: small;'><a href='https:\/\/www.ericwhite.com\/blog\/toc-expanded\/#pptx-generation'>All Topics<\/a><span style='position: relative; left: 1em;'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-condensed\/#pptx-generation'>Condensed TOC<\/a><\/span><\/h2>\n<table border='1' cellspacing='0' cellpadding='0' style='border-collapse:collapse;border:none;'>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Link<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Summary<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Keywords<\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/06\/13\/open-xml-presentation-generation-using-a-template-presentation.aspx\" target=\"_blank\" class=\"broken_link\">Open XML Presentation Generation using a Template Presentation<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Article discusses an approach of creating an Open XML template presentation that you can use to generate multiple presentations from data. <span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#presentationml'>PresentationML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#pptx-generation'>PPTX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><a id='presentationml'\/><\/p>\n<h1>PresentationML Videos<\/h1>\n<h2 style='font-size: small;'><a href='https:\/\/www.ericwhite.com\/blog\/toc-expanded\/#presentationml'>All Topics<\/a><span style='position: relative; left: 1em;'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-condensed\/#presentationml'>Condensed TOC<\/a><\/span><\/h2>\n<table border='1' cellspacing='0' cellpadding='0' style='border-collapse:collapse;border:none;'>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Link<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Summary<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Keywords<\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/06\/13\/open-xml-presentation-generation-using-a-template-presentation.aspx\" target=\"_blank\" class=\"broken_link\">Open XML Presentation Generation using a Template Presentation<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Article discusses an approach of creating an Open XML template presentation that you can use to generate multiple presentations from data. <span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#presentationml'>PresentationML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#pptx-generation'>PPTX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/16\/screen-cast-remove-speaker-notes-from-an-open-xml-presentation.aspx\" target=\"_blank\" class=\"broken_link\">Remove Speaker Notes from an Open XML Presentation<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>When sending a presentation to customers or others outside of your organization, you often want to remove speaker notes.  It is easy enough to use <a href=\"http:\/\/blogs.msdn.com\/b\/ericwhite\/archive\/2010\/05\/05\/removing-speaker-notes-from-a-set-of-powerpoint-presentations.aspx\" class=\"broken_link\">PowerPoint automation to remove the speaker notes<\/a>, but if you are processing presentations server-side, you probably don&#8217;t want to rely on automation to accomplish this task.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#presentationml'>PresentationML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/10\/12\/exploring-the-set-openxmlstring-cmdlet-in-powertools-for-open-xml-2-2.aspx\" target=\"_blank\" class=\"broken_link\">Exploring the Set-OpenXmlString CMDLET in PowerTools for Open XML 2.2<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>The Set-OpenXmlString cmdlet enables interesting functionality &#8211; you can do a search-and-replace of content without automating Word, and you can search-and-replace in many documents at once.  The Set-OpenXmlString can search-and-replace in both WordprocessingML documents and PresentationML documents. <span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#presentationml'>PresentationML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><a id='sdk-productivity-tool'\/><\/p>\n<h1>SDK Productivity Tool Videos<\/h1>\n<h2 style='font-size: small;'><a href='https:\/\/www.ericwhite.com\/blog\/toc-expanded\/#sdk-productivity-tool'>All Topics<\/a><span style='position: relative; left: 1em;'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-condensed\/#sdk-productivity-tool'>Condensed TOC<\/a><\/span><\/h2>\n<table border='1' cellspacing='0' cellpadding='0' style='border-collapse:collapse;border:none;'>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Link<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Summary<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Keywords<\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/04\/01\/133710.aspx\" target=\"_blank\" class=\"broken_link\">How to Solve Open XML Developer Problems<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This screen-cast shows the general approach that I use to solve Open XML developer problems. The general gist of the approach is that I create two documents, one without the feature of interest, and one with. I then use the <a href=\"http:\/\/www.microsoft.com\/downloads\/en\/details.aspx?FamilyId=C6E744E5-36E9-45F5-8D8C-331DF206E0D0&amp;displaylang=en\" class=\"broken_link\">Open XML SDK productivity tool<\/a> to compare the two and find out the differences. I then use the <a href=\"http:\/\/visualstudiogallery.msdn.microsoft.com\/450a00e3-5a7d-4776-be2c-8aa8cec2a75b\">Open XML Package Editor Power Tool for Visual Studio 2010<\/a> to examine the markup, and I use the PDF form of the <a href=\"http:\/\/www.ecma-international.org\/publications\/standards\/Ecma-376.htm\" class=\"broken_link\">ECMA 376 Second Edition Part 1<\/a> to research the markup.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#sdk-productivity-tool'>SDK Productivity Tool<\/a><\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><a id='spreadsheetml'\/><\/p>\n<h1>SpreadsheetML Videos<\/h1>\n<h2 style='font-size: small;'><a href='https:\/\/www.ericwhite.com\/blog\/toc-expanded\/#spreadsheetml'>All Topics<\/a><span style='position: relative; left: 1em;'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-condensed\/#spreadsheetml'>Condensed TOC<\/a><\/span><\/h2>\n<table border='1' cellspacing='0' cellpadding='0' style='border-collapse:collapse;border:none;'>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Link<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Summary<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Keywords<\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/03\/28\/132189.aspx\" target=\"_blank\" class=\"broken_link\">Updating Data for an Embedded Chart in an Open XML WordprocessingML Document<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Embedding charts in a word-processing document is a good way to put together documents that display graphical data. When you embed a chart in a document, an Open XML SpreadsheetML workbook is stored as an embedded part in the WordprocessingML document. The spreadsheet contains the data behind the chart. When you maintain that data, Word starts Excel, opening that embedded spreadsheet.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#spreadsheetml'>SpreadsheetML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/archive\/2011\/04\/15\/139098.aspx\" target=\"_blank\" class=\"broken_link\">How to Create Protected Spreadsheets with Locked and Unlocked Cells<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>7-minute video that shows markup related to protected sheets with locked and unlocked cells.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#spreadsheetml'>SpreadsheetML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/05\/31\/155543.aspx\" target=\"_blank\" class=\"broken_link\">Exploring Table Markup in Open XML SpreadsheetML<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Tables are a convenient and useful feature of Open XML SpreadsheetML. This post explores table markup, and links to a screen-cast that shows how to create a table programmatically<br \/>\n<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#spreadsheetml'>SpreadsheetML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/07\/18\/query-open-xml-spreadsheets-in-vb-net-using-linq.aspx\" target=\"_blank\" class=\"broken_link\">Query Open XML Spreadsheets in VB.NET using LINQ<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>When working with SpreadsheetML, one of the most common needs is to retrieve the data from a worksheet or a table in as easy a fashion as possible.  There has been a fair amount written for C# developers to do this, but not nearly as much for VB.NET.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#spreadsheetml'>SpreadsheetML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/11\/22\/screen-cast-write-simpler-spreadsheetml-when-generating-spreadsheets.aspx\" target=\"_blank\" class=\"broken_link\">Screen-Cast: Write Simpler SpreadsheetML when Generating Spreadsheets<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This screen-cast presents a small tip that can make it easier to write code to generate SpreadsheetML.  You can avoid the complications of updating the shared string table by using the idea in this tip.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#spreadsheetml'>SpreadsheetML<\/a><\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><a id='vba'\/><\/p>\n<h1>VBA Videos<\/h1>\n<h2 style='font-size: small;'><a href='https:\/\/www.ericwhite.com\/blog\/toc-expanded\/#vba'>All Topics<\/a><span style='position: relative; left: 1em;'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-condensed\/#vba'>Condensed TOC<\/a><\/span><\/h2>\n<table border='1' cellspacing='0' cellpadding='0' style='border-collapse:collapse;border:none;'>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Link<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Summary<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Keywords<\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/24\/updating-the-toc-in-a-wordprocessingml-document-using-an-autoopen-macro.aspx\" target=\"_blank\" class=\"broken_link\">Updating the TOC in a WordprocessingML Document using an AutoOpen Macro<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In the screen-cast that I present in this post, I show how you can add a TOC using the Open XML SDK, and then modify the normal.dotx, adding a macro, so that whenever you open a document that contains a TOC, Word repaginates the document and updates the TOC. <span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#vba'>VBA<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#word-automation'>Word Automation<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><a id='word-automation'\/><\/p>\n<h1>Word Automation Videos<\/h1>\n<h2 style='font-size: small;'><a href='https:\/\/www.ericwhite.com\/blog\/toc-expanded\/#word-automation'>All Topics<\/a><span style='position: relative; left: 1em;'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-condensed\/#word-automation'>Condensed TOC<\/a><\/span><\/h2>\n<table border='1' cellspacing='0' cellpadding='0' style='border-collapse:collapse;border:none;'>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Link<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Summary<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Keywords<\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/15\/exploring-tables-of-contents-in-open-xml-wordprocessingml-documents-part-3.aspx\" target=\"_blank\" class=\"broken_link\">Exploring Tables-of-Contents in Open XML WordprocessingML Documents (Part 3)<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In this screen-cast, I show how you can use Word Automation to open and save the document, thereby causing all fields to be updated, including the TOC.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#word-automation'>Word Automation<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#office-automation'>Office Automation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/24\/updating-the-toc-in-a-wordprocessingml-document-using-an-autoopen-macro.aspx\" target=\"_blank\" class=\"broken_link\">Updating the TOC in a WordprocessingML Document using an AutoOpen Macro<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In the screen-cast that I present in this post, I show how you can add a TOC using the Open XML SDK, and then modify the normal.dotx, adding a macro, so that whenever you open a document that contains a TOC, Word repaginates the document and updates the TOC. <span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#vba'>VBA<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#word-automation'>Word Automation<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><a id='word-automation-services'\/><\/p>\n<h1>Word Automation Services Videos<\/h1>\n<h2 style='font-size: small;'><a href='https:\/\/www.ericwhite.com\/blog\/toc-expanded\/#word-automation-services'>All Topics<\/a><span style='position: relative; left: 1em;'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-condensed\/#word-automation-services'>Condensed TOC<\/a><\/span><\/h2>\n<table border='1' cellspacing='0' cellpadding='0' style='border-collapse:collapse;border:none;'>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Link<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Summary<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Keywords<\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/08\/22\/fourth-and-final-screen-cast-in-series-on-addingupdating-the-toc-in-openxml-wordprocessingml-documents\/' target='_blank'>Adding\/Updating the TOC in OpenXML WordprocessingML Documents (4th Screen-cast<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Shows how to use Word Automation Services to repaginate a document and update the table-of-contents.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#word-automation-services'>Word Automation Services<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><a id='wordprocessingml'\/><\/p>\n<h1>WordprocessingML Videos<\/h1>\n<h2 style='font-size: small;'><a href='https:\/\/www.ericwhite.com\/blog\/toc-expanded\/#wordprocessingml'>All Topics<\/a><span style='position: relative; left: 1em;'><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-condensed\/#wordprocessingml'>Condensed TOC<\/a><\/span><\/h2>\n<table border='1' cellspacing='0' cellpadding='0' style='border-collapse:collapse;border:none;'>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Link<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Summary<\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt;font-weight: bold;'>\n<p style=''>Keywords<\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/02\/video-of-use-of-document-generation-example\/' target='_blank'>Video of use of Document Generation Example<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>First version of this document generation system that is driven by C# code that you write in content controls in a Word document.  As an intro, he has recorded a small screen-cast that shows the doc gen system in action.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/08\/release-of-v1-of-simple-docx-generation-system\/' target='_blank'>Release of V1 of Simple DOCX Generation System<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This is a preliminary version of a simple DOCX generation system, which you can download, unzip, and try. This article lists two screen casts, first 90 second screen-cast shows how to run the doc gen system after you download and unzip the zip file.The second 2 1\/2 minute video shows using the document generation system at scale.  It shows generating 3000 documents in under a minute.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/09\/getting-started-with-open-xml-powertools-markup-simplifier\/' target='_blank'>Getting Started with Open XML PowerTools Markup Simplifier<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In PowerTools, in the HtmlConverter project, there is a class called MarkupSimplifier, which can remove proofing errors.  In addition, it can simplify WordprocessingML markup in a variety of ways, including removal of comments, content controls, and etc.<br \/>\nHere is a small screen-cast that shows the use of MarkupSimplifier.  This screen-cast uses Open XML Package Editor Power Tool for Visual Studio 2010.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/15\/changing-the-schema-for-this-open-xml-document-generation-system\/' target='_blank'>Changing the Schema for this Open XML Document Generation System<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In the following screen cast shows the process of adjusting the XML data that drives the document generation system, as well as adjusting the template document to use that data.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/03\/28\/132189.aspx\" target=\"_blank\" class=\"broken_link\">Updating Data for an Embedded Chart in an Open XML WordprocessingML Document<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Embedding charts in a word-processing document is a good way to put together documents that display graphical data. When you embed a chart in a document, an Open XML SpreadsheetML workbook is stored as an embedded part in the WordprocessingML document. The spreadsheet contains the data behind the chart. When you maintain that data, Word starts Excel, opening that embedded spreadsheet.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#spreadsheetml'>SpreadsheetML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/29\/release-of-v2-of-doc-gen-system-xpath-in-content-controls\/' target='_blank'>Release of V2 of Doc Gen System: XPath in Content Controls<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In this post, I release V2 of this simple document generation example. I provide a 2-minute screen-cast that shows the document generation process, generating 3000 documents in less than 30 seconds.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/03\/29\/update-data-behind-an-embedded-chart-in-an-open-xml-wordprocessingml-document\/' target='_blank'>Update Data behind an embedded Chart in an Open XML WordprocessingML Document<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>11 minute video that walks through the process of embedding a chart in a word-processing document, and then programmatically updating that data so that the chart reflects the new data.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/04\/01\/133710.aspx\" target=\"_blank\" class=\"broken_link\">How to Solve Open XML Developer Problems<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This screen-cast shows the general approach that I use to solve Open XML developer problems. The general gist of the approach is that I create two documents, one without the feature of interest, and one with. I then use the <a href=\"http:\/\/www.microsoft.com\/downloads\/en\/details.aspx?FamilyId=C6E744E5-36E9-45F5-8D8C-331DF206E0D0&amp;displaylang=en\" class=\"broken_link\">Open XML SDK productivity tool<\/a> to compare the two and find out the differences. I then use the <a href=\"http:\/\/visualstudiogallery.msdn.microsoft.com\/450a00e3-5a7d-4776-be2c-8aa8cec2a75b\">Open XML Package Editor Power Tool for Visual Studio 2010<\/a> to examine the markup, and I use the PDF form of the <a href=\"http:\/\/www.ecma-international.org\/publications\/standards\/Ecma-376.htm\" class=\"broken_link\">ECMA 376 Second Edition Part 1<\/a> to research the markup.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#sdk-productivity-tool'>SDK Productivity Tool<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/04\/18\/change-the-schema-for-simple-free-doc-generation-system\/' target='_blank'>Change the Schema for Simple Free Doc Generation System<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Three minute screen-cast that demonstrates changing the schema for simple document generation system that you configure by placing XPath expressions in content controls.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#docx-generation'>DOCX Generation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/archive\/2011\/04\/22\/141825.aspx\" target=\"_blank\" class=\"broken_link\">Open XML Markup Simplifier Application makes it easier to research WordprocessingML<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This article describes WinForms Application that makes it easier to research OpenXML markup, by creating documents, altering documents, and then comparing the two documents. The MarkupSimplifier class (which is part of the PowerTools for Open XML project) can help, but as downloaded from CodePlex it is simply a class.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/04\/22\/141825.aspx\" target=\"_blank\" class=\"broken_link\">Open XML Markup Simplifier Application makes it easier to research WordprocessingML<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Sometimes when researching and examining Open XML WordprocessingML markup, extraneous markup that is not relevant to the issue at hand gets in the way of seeing what is going on. If you are researching markup by creating documents, altering documents, and then comparing the two documents, as detailed in <a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/04\/01\/133710.aspx\" class=\"broken_link\">How to Solve Open XML Developer Problems<\/a>, your research process is made significantly easier by simplifying the markup before comparing.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/archive\/2011\/04\/25\/143067.aspx\" target=\"_blank\" class=\"broken_link\">In-Depth Exploration of WordprocessingML Fields<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>First video in a two-part series that explains how field markup works.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/archive\/2011\/04\/27\/143766.aspx\" target=\"_blank\" class=\"broken_link\">In-Depth Exploration of WordprocessingML Fields &#8211; Part 2<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>See how to use a MarkupSimplifier utility program to make field markup more understandable. In walk through two cases where fields can be embedded in other fields.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/05\/04\/screen-cast-exploring-margins-in-open-xml-wordprocessingml-documents\/' target='_blank'>Screen-cast: Exploring Margins in Open XML WordprocessingML Documents<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This blog has recorded short screen-cast that explores some approaches to setting margins in a word-processing document.  It shows setting margins for cells, paragraphs, and sections.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/archive\/2011\/05\/04\/145745.aspx\" target=\"_blank\" class=\"broken_link\">Exploring Margins in Open XML WordprocessingML Documents<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Article has a short screen-cast that shows the markup for various ways of setting margins &#8211; for cells, paragraphs, and sections. In addition, the video shows general approach for researching Open XML markup.<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/05\/10\/using-xml-dom-to-detect-tracked-revisions-in-an-open-xml-wordprocessingml-document\/' target='_blank'>Using XML DOM to Detect Tracked Revisions in an Open XML WordprocessingML Document<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Using XML DOM to Detect Tracked Revisions in an Open XML WordprocessingML Document<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/05\/12\/search-and-replace-text-in-an-open-xml-wordprocessingml-document\/' target='_blank'>Search and Replace Text in an Open XML WordprocessingML Document<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Search and Replace Text in an Open XML WordprocessingML Document<span style='color:#2b91af;'>  (Article,Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#open-xml-sdk'>Open XML SDK<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/07\/07\/introduction-to-documentbuilder-2-0-screen-cast-1-of-3.aspx\" target=\"_blank\" class=\"broken_link\">Introduction to DocumentBuilder 2.0 &#8211; Screen-Cast 1 of 3<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This post contains the first of three screen-casts that introduces DocumentBuilder 2.0, talks about interrelated markup, and explores how DocumentBuilder solves developer issues with regards to interrelated markup.  While this screen-cast is a bit long (20 minutes), it will be important for developers using DocumentBuilder who want to know how DocumentBuilder works.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#documentbuilder'>DocumentBuilder<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/07\/12\/introduction-to-documentbuilder-2-0-screen-cast-2-of-3.aspx\" target=\"_blank\" class=\"broken_link\">Introduction to DocumentBuilder 2.0 &#8211; Screen-Cast 2 of 3<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This screen-cast builds on the previous screen-cast where I walk through the process of transferring comments from multiple source documents into a destination document.  In this screen-cast, I insert images into the comments.  This introduces some complexity &#8211; the comments part has a relationship to an image part.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#documentbuilder'>DocumentBuilder<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/07\/14\/introduction-to-documentbuilder-2-0-screen-cast-3-of-3.aspx\" target=\"_blank\" class=\"broken_link\">Introduction to DocumentBuilder 2.0 &#8211; Screen-Cast 3 of 3<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This screen-cast builds on the previous two screen-casts where I walk through the process of transferring comments from multiple source documents into a destination document.  In this final screen-cast in the series, I walk through some of the code in DocumentBuilder 2.0 &#8211; I explain how the code is data-driven to make it more robust, and discuss the structure of the code and how DocumentBuilder 2.0 works.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#documentbuilder'>DocumentBuilder<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/04\/introducing-textreplacer-a-new-class-for-powertools-for-open-xml.aspx\" target=\"_blank\" class=\"broken_link\">Introducing TextReplacer: A New Class for PowerTools for Open XML<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This code to search-and-replace in an Open XML WordprocessingML document uses LINQ to XML to implement a functional transform.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/08\/exploring-tables-of-contents-in-open-xml-wordprocessingml-documents.aspx\" target=\"_blank\" class=\"broken_link\">Exploring Tables-of-Contents in Open XML WordprocessingML Documents<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Many Open XML developers need to generate documents, and then generate and insert an updated table-of-content for the document.  TOC&#8217;s in Open XML are not hard, but they require a bit of explanation.  This blog post introduces the first of several screen-casts around Open XML WordprocessingML TOCs.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/10\/exploring-tables-of-contents-in-open-xml-wordprocessingml-documents-part-2.aspx\" target=\"_blank\" class=\"broken_link\">Exploring Tables-of-Contents in Open XML WordprocessingML Documents (Part 2)<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In this screen-cast, I discuss a bit more about the markup, and then walk through some example code that is part of the PowerTools for Open XML project.  The example code shows how to insert a TOC at a desired point in a document, and then set the <w:updateFields> element.  Then, when the user next opens that document, Word will present them with the option to repaginate and update the TOC.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/15\/exploring-tables-of-contents-in-open-xml-wordprocessingml-documents-part-3.aspx\" target=\"_blank\" class=\"broken_link\">Exploring Tables-of-Contents in Open XML WordprocessingML Documents (Part 3)<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In this screen-cast, I show how you can use Word Automation to open and save the document, thereby causing all fields to be updated, including the TOC.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#word-automation'>Word Automation<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#office-automation'>Office Automation<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/18\/new-screen-cast-short-and-sweet-intro-to-documentbuilder-2-0.aspx\" target=\"_blank\" class=\"broken_link\">Short and Sweet Intro to DocumentBuilder 2.0<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This is a short screen-cast that explains what DocumentBuilder 2.0 is all about, in less than seven minutes.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#documentbuilder'>DocumentBuilder<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/19\/whit-is-the-glossary-document-used-for.aspx\" target=\"_blank\" class=\"broken_link\">What is the glossary document used for?<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>The glossary part is used for the placeholder text for content controls.  In DOTX, it is used for the content for quick parts.  This 3 minute video demonstrates these two uses.  It also shows a little trick you can do with content controls and the glossary part.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/2011\/08\/22\/fourth-and-final-screen-cast-in-series-on-addingupdating-the-toc-in-openxml-wordprocessingml-documents\/' target='_blank'>Adding\/Updating the TOC in OpenXML WordprocessingML Documents (4th Screen-cast<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Shows how to use Word Automation Services to repaginate a document and update the table-of-contents.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#word-automation-services'>Word Automation Services<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/08\/24\/updating-the-toc-in-a-wordprocessingml-document-using-an-autoopen-macro.aspx\" target=\"_blank\" class=\"broken_link\">Updating the TOC in a WordprocessingML Document using an AutoOpen Macro<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In the screen-cast that I present in this post, I show how you can add a TOC using the Open XML SDK, and then modify the normal.dotx, adding a macro, so that whenever you open a document that contains a TOC, Word repaginates the document and updates the TOC. <span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#vba'>VBA<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#word-automation'>Word Automation<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/09\/01\/how-to-retrieve-the-text-of-a-bookmark-from-an-openxml-wordprocessingml-document.aspx\" target=\"_blank\" class=\"broken_link\">How to Retrieve the Text of a Bookmark from an OpenXML WordprocessingML Document<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Sometimes developers use bookmarks to delineate text in an OpenXML WordprocessingML document.  Then, as part of a larger system, they want to retrieve the text of that bookmark to process in some fashion. <span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/09\/06\/replacing-text-of-a-bookmark-in-an-openxml-wordprocessingml-document.aspx\" target=\"_blank\" class=\"broken_link\">Replacing Text of a Bookmark in an OpenXML WordprocessingML Document<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In a <a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/09\/01\/how-to-retrieve-the-text-of-a-bookmark-from-an-openxml-wordprocessingml-document.aspx\" class=\"broken_link\">previous screen-cast<\/a>, I showed how to retrieve the text of an OpenXML WordprocessingML document.  In this post and screen-cast, I introduce some code that enables you to replace the text of a bookmark.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/09\/23\/advanced-use-of-documentbuilder-2-0.aspx\" target=\"_blank\" class=\"broken_link\">Advanced use of DocumentBuilder 2.0<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>The default approach to working with DocumentBuilder 2.0 enables you to take bits and pieces of multiple documents and assemble them together into a new document.  However, there is an interesting scenario that this approach does not handle.  You may want to import a document into a cell in a table, into a text box, or into a content control.  You can do this with DocumentBuilder 2.0.  This video shows how.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#documentbuilder'>DocumentBuilder<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/10\/03\/custom-xml-parts-and-content-controls.aspx\" target=\"_blank\" class=\"broken_link\">Custom XML Parts and Content Controls<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Using custom XML parts and content controls, we can create smarter documents that provide needed functionality for users.  Content controls and custom XML parts enable us to integrate business data with content in a document.  In addition, content controls can be used to delineate data or content in a document. <span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#content-controls'>Content Controls<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/10\/12\/exploring-the-set-openxmlstring-cmdlet-in-powertools-for-open-xml-2-2.aspx\" target=\"_blank\" class=\"broken_link\">Exploring the Set-OpenXmlString CMDLET in PowerTools for Open XML 2.2<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>The Set-OpenXmlString cmdlet enables interesting functionality &#8211; you can do a search-and-replace of content without automating Word, and you can search-and-replace in many documents at once.  The Set-OpenXmlString can search-and-replace in both WordprocessingML documents and PresentationML documents. <span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#presentationml'>PresentationML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/11\/03\/merge-comments-from-multiple-openxml-wordprocessingml-documents-into-a-single-document.aspx\" target=\"_blank\" class=\"broken_link\">Merge Comments from Multiple OpenXML WordprocessingML Documents into a Single Document<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>Introduces code that shows how to merge comments from multiple WordprocessingML documents into a single document.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/11\/07\/new-screen-cast-on-the-split-openxmldocument-cmdlet-in-powertools-for-open-xml.aspx\" target=\"_blank\" class=\"broken_link\">Split-OpenXmlDocument cmdlet in PowerTools for Open XML<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>In document processing parlance, shredding a document is the process of dividing a source document according to certain rules, and creating a number of documents from the source document.  This is useful, for instance, when you have a huge document, and you want to divide it into multiple documents to hand off to different authors or editors.  Then, after all edits have been completed, you can merge the various parts back into a complete document.<span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#powertools'>PowerTools<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/11\/14\/exploring-the-markup-for-bibliographies-in-openxml-wordprocessingml.aspx\" target=\"_blank\" class=\"broken_link\">Exploring the Markup for Bibliographies in OpenXML WordprocessingML<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>This screen-cast walks through bibliography markup.  Bibliographies use custom XML parts, so in addition to showing the field markup for citations and the generated bibliography, the screen-cast discusses the mechanism by which you can determine the purpose of any particular custom XML part. <span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<tr style=''>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href=\"http:\/\/openxmldeveloper.org\/home2\/bm8qcmjy\/public_html\/blog\/b\/openxmldeveloper\/archive\/2011\/11\/18\/screen-cast-sections-headers-and-footers.aspx\" target=\"_blank\" class=\"broken_link\">Screen-Cast: Sections, Headers, and Footers<\/a><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''>When generating documents, you sometimes will want to create documents with multiple sections, so that you can control page layout separately for each section.  In addition, you sometimes will want to create headers and footers for each section. <span style='color:#2b91af;'>  (Video)<\/span><\/p>\n<\/td>\n<td valign=top style='border:solid windowtext 1.0pt;padding:3pt 5.4pt 2.0pt 5.4pt'>\n<p style=''><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#openxml'>OpenXML<\/a><br \/><a href='https:\/\/www.ericwhite.com\/blog\/video-toc-expanded\/#wordprocessingml'>WordprocessingML<\/a><\/p>\n<\/td>\n<\/tr>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>Content Controls DocumentBuilder DOCX Generation Functional Programming Introduction LINQ LINQ to XML Office Automation Open XML SDK OpenXML PowerTools PPTX Generation PresentationML SDK Productivity Tool SpreadsheetML VBA Word Automation Word Automation Services WordprocessingML Content Controls Videos All TopicsCondensed TOC Link Summary Keywords Video of use of Document Generation Example First version of this document generation [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_s2mail":"","footnotes":""},"class_list":["post-567","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/pages\/567","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/comments?post=567"}],"version-history":[{"count":5,"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/pages\/567\/revisions"}],"predecessor-version":[{"id":580,"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/pages\/567\/revisions\/580"}],"wp:attachment":[{"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/media?parent=567"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}