Eric White's Blog
Open XML, SharePoint, and Office
Document Generation Series
Repeating Content in Document Generation System that uses XPath Expressions in Content Controls
I recently received a very good request for an enhancement to this document generation system. The request was for a “Repeat” control that works in a similar way to tables, but instead of putting child records into a table, the document generation system generates a repeating section of content. To review, here is what the [...]
Posted in Document Generation Series, Open XML, WordprocessingML | 6 Comments »
Change the Schema for Simple Free Doc Generation System
Three minute screen-cast that demonstrates changing the schema for simple document generation system that you configure by placing XPath expressions in content controls.
Posted in Document Generation Series, Open XML, WordprocessingML | 2 Comments »
Review of XPath Semantics of LINQ to XML
In this post, I review the XPath semantics of LINQ to XML, and show some concrete examples of how I use those semantics in the XPath-in-Content-Controls approach to Open XML WordprocessingML document generation. This post is the 15th in a series of blog posts on generating Open XML documents. Here is the complete list: Generating [...]
Posted in Document Generation Series, Open XML, WordprocessingML | No Comments »
Release of V2 of Doc Gen System: XPath in Content Controls
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.
Posted in Document Generation Series, Open XML, WordprocessingML | 36 Comments »
Generating Open XML WordprocessingML Documents using XPath Expressions in Content Controls
Introduces the approach of configuring the document generation process by entering XPath expressions in content controls in a template document.
Posted in Document Generation Series, Open XML, WordprocessingML | 16 Comments »
Changing the Schema for this Open XML Document Generation System
Flexibility in a document generation system is very important to its usability. We all know how it works. You’ve been commissioned by the marketing department to put together a mailing to 50,000 customers. After doing the work of putting together the template document, the marketing department *will* come ask for changes to the data and [...]
Posted in Document Generation Series, Open XML, WordprocessingML | 1 Comment »
Release of V1 of Simple DOCX Generation System
I have completed a preliminary version of this simple DOCX generation system, which you can download, unzip, and try. You can find the zip file that contains all necessary bits…
Posted in Document Generation Series, Open XML, WordprocessingML | 3 Comments »
Video of use of Document Generation Example
I have completed a rough 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, I’ve recorded a small screen-cast that shows the doc gen system in action. This post is the tenth in a series of blog posts [...]
Posted in Document Generation Series, Open XML, WordprocessingML | 3 Comments »
A Super-Simple Template System
In the last post, I explored Text Templates (T4), and determined that using T4 text templates for my code generation needs would add complexity and not yield sufficient ROI (although I did determine that a doc gen example using T4 is interesting in its own right). However, my exploration into T4 text templates yielded one [...]
Posted in Document Generation Series, Open XML, WordprocessingML | 7 Comments »
Text Templates (T4) and the Code Generation Process
As I was contemplating the process of generating the C# code that will do the document generation, I was drawn to the idea of using text templates, also known as T4. Text templates are a .NET code generation technology. I have never used text templates before, so I spent a few hours researching them to [...]
Posted in Document Generation Series, Open XML, WordprocessingML | No Comments »