I'm struggling to work out the differences between mergefields, field codes, placeholders and content controls in Word DOCX files.

As part of a server-based system to generate 'mail merge' documents I am testing Fluent OpenXML to take a Word docx template and merge with external data.

The problem I have is that Fluent seems to use placeholders to fill in the data, with examples such as {{field}}{{/field}} being used in the sample documents. But nowhere in Word 2010 can I find how to create such placeholders. The closest I have found is using CTRL-F9 for field codes, but this just produces a single {field} marker, not one with opening and closing tags.

Content Controls under the the Developer tab get interpreted as fields in Fluent, so that doesn't help.

There seems to be little documentation on the differences between all these types of placeholder fields.

Am I missing something here?

1 Answer 1


The Fluent OpenXml Generator seems to confuse terminology when it comes to the existing names already given to elements in a Word document.

They refer to Content Controls as fields and you can have different types so for example an inline field is a content control that wraps around the text in a document whereas a block level node wraps around one or more paragraphs or tables.

From what I've seen the place holders you are referring to are not fields at all and are just simple plain text surrounded with double curly brackets, so you can just write them out as plain text as they appear in your template and you should be able to replace them when your application runs.

It's strange that the developers of that tool did not allow easy merging into traditional merge fields.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.