The shot below shows a Word 2010 Rich Text Content Control, nesting a Plain Text Content Control:

This idea of nesting content controls comes to me from Eric White’s “Using Nested Content Controls for Data and Content Extraction from Open XML WordprocessingML Documents.” Eric mentions this very important bit:
Important note: In order to nest content controls, the containing content control must be a rich-text content control. You create one of these using the upper-left button in the Controls section of the Developer tab. Thanks, Darin.
Another important bit: you cannot nest content controls in Word 2007 or earlier! This new feature in Word 2010 effectively replaces the functionality of “Custom XML” that has been removed by a court order from Word 2010. I daresay nested content controls are not as conceptually embarrassing as some critics of Microsoft have claimed. The Content Control does not require the use of an external schema file (which was technically entertaining to me—but not to many, many others).
It is very, very important (to me) to see nested content controls in Design View (above). However, most writing about this subject shows them in print/layout view (below):

Without the news in Eric’s article, I would be essentially doomed. Yes, ‘doomed’ is a strong word so let the research of Peter Sefton help me be a bit more articulate. He has a 2008 article entitled “Embedding metadata and other semantics in word processing documents” and the title speaks clearly to me. Modern word processing file formats need a standard way to store metadata. And, no, there is no quiet, elegant Open Source program out there that saves the day. Anyone out there who considers their documents first-class entities for any data management system cannot dismiss Word 2010 with a bunch of Microsoft player-hating. I keep trying to get rid of Word and I keep going back.
BTW: In case you can’t get that Peter Sefton article, try the slide deck “Embedding Metadata In Word Processing Documents” (or the PDF).
My limited research informs me that Eric White has gone the longest way toward consistently (almost daily at times) and explicitly applying contemporary .NET technologies with Microsoft Office. Surely Eric would suggest that he deals in Microsoft Office file formats—not Office itself (VSTO). Moreover Eric might say that he had very little to do with the Document Reflector—arguably the most important tool written for the VSTO world seen through the lens of Open XML.
The Document Reflector is part of version 2.0 of the Open XML SDK bundled in a GUI application called “Open XML SDK Development Productivity Tools.” BTW: since I am unknown for “beating up”on Microsoft’s Brian Jones, it must be said that Brian Jones mentions Document Reflector more than Eric White, according to my last search.
Hey, Eric is a busy guy—he’s been writing or pointing us to articles like:
| “Transforming Flat OPC Format to Open XML Documents” | Even though Eric White makes no mention of VSTO in this article. This is the one that suggests (to me) how to use the full power of the Open XML SDK inside of Microsoft Word. The official priority by the way appears to be that Open XML tools are written for processing documents outside of word (for massive, long-awaited, server-based solutions). |
| “The Flat OPC Format” | “Note that the Flat OPC format is not the same as the ‘Word 2003 XML Document’ format. Those documents have a schema that is very different from the Flat OPC format.” |
| “Using Open XML to Improve Automation Performance in Word 2010 for Large Amounts of Data” |
“The The Word object model is moving target with regard to Open XML. The |
| “Transforming Open XML WordprocessingML to XHtml” | A “map” listing 18 articles on the subject of Open XML and XHTML. Truly groundbreaking for Microsoft! |
Open XML for Word 2010 VSTO links:
So, I’ve talked about what appears to be my “Custom XML” problem earlier. It may be the right place and time to add a few flippant remarks.
Microsoft’s recognition of this Texan ruling lies in “Utility to manage custom XML markup feature availability for customers outside the United States and its territories”; the title speaks for itself. Articles like “Associating Data with Content Controls” from the TechNet world (Gray Knowlton) go deeper into this “Custom XML” issue (and back to Eric White).
Okay! The title does sound “negative” but I’m the dude that wrote “Good Stuff about Brian Jones” in 2007. The issue here is that Eric White kicks the asses I’m thinking should be kicked—and I’m willing to childishly sing his praises at the expense of getting petty with Brian Jones.
Without Eric White, I would have no ‘sane’ way of dealing with this Microsoft litigation issue mentioned earlier. Here’s the plan:
Range object. FlatToOpc, in “Transforming Flat OPC Format to Open XML Documents.” My little OPC documents will litter the writeable temp folders as the Open XML SDK does its magic. One little reward for this revitalized interest in Open XML in general and the .DOCX file format in particular, is stumbling upon the way to get WPF to work in Office Solutions (VSTO):
Update: actually the two WPF articles mentioned above are not necessary to get WPF working with VSTO. All that is needed is a reference to a WPF Window object inside the VSTO project or as an external reference (my preference). More on this later…
I’m sure I was wearing headphones with the sound going directly into my ears while Paul Thurrott in some episode of Windows Weekly mentioned in passing that “Microsoft complies with court, strips Word of custom XML.” It was a jury in Texas that decided that my digital life should be intimately disrupted as “Microsoft has issued updates for Word 2007 and Word 2003 that strip those applications of a feature that infringes on the patent of a tiny Canadian software company, i4i.” And I’m flippantly sure that Paul Thurrott said that this change will have an “insignificant” impact on whatever he continually says “whatever” about… so, speaking of bad comedy, here’s a picture from a previous post showing just how much I’m into “custom XML”:

One important finding of mine disagrees with the use of the word “strip” in sentences like:
So what do you do if you have custom XML in your Word documents? If you don’t use the custom XML, then there’s no problem, just open the files and Word will strip it out, leaving you the rest of the document. Same if your use can be switched to using another feature. You will lose your existing markers but otherwise can continue.
What’s actually happening (according to my copy of Word 2010) is that word is not altering the contents of my documents simply because it contains “custom XML.” This apparently “illegal” content is not displayed in Word 2010. The XML defining the “custom XML” is still stored in the document.
What this suggests (after many hours curled up on the floor sobbing, Why me!) is that the Open XML SDK can be used to reach those fragments of “custom XML”—once there one could:
In the summer of 2009, Mary Jo Foley reported that Microsoft appealed the decision. Since I’m writing this very, very late to the party, clearly the appeal failed. In fact, in the winter of 2009 we find Tim Bray saying:
I see that Microsoft lost an appeal in the “Custom XML” litigation, and may be forced to disable that functionality in Microsoft Office. This is a short backgrounder explaining what “Custom XML” is about, and why nobody should care.
Hey, let’s drive this issue into the ground (deeper) with Stéphane Rodriguez (in 2008):
It’s interesting that Microsoft bloggers don’t even seem to be [embarrassed] by ridiculous expressions such as “Custom XML”. Custom XML is indeed just as silly as “Office Open XML” : the reason is X in XML already means Custom.
Last week I started using Windows Live Writer on a company notebook. Then I remembered why I stopped using Windows Live Writer. This remembrance made me install the latest version of XAMPP (which actually fixed the problem). XAMPP drives my WordPress installation and Windows Live Writer posts to WordPress. In order to test out XAMPP/WordPress, I had to install Windows Live Essentials Beta on my Sager, running 64-bit Windows 7 (the released version of Essentials, by the way, did not work, failing with that 0×80070643 error).
So… it looks like that it’s possible to get more than one Blog post out per week. Now there’s two very comfortable ways to get my word out: using Word 2010 (with an unreleased version of CleanXHTML) and using Windows Live Essentials on the portable computers currently at my disposal.
BTW: the advantage of using full-blown MS Word for Blog writing is to get beyond Blog writing. CleanXHTML helps me get the data out of Word on my desktop and into WordPress. Then Word can be used to make multiple Blog entries into lengthy prose. The option to publish on paper or PDF (or XPS) is always there. …control-freaky degrees of freedom over ironic, youthful certainty!