Skip to content

API reference / Common / Engine types / TextCustomXmlBlock

Interface: TextCustomXmlBlock ​

A block-level custom XML element (docx w:customXml, CT_CustomXmlBlock) — a container of nested blocks, contributing no characters of its own.

TextControlBlock's twin, and structurally its equal: sdt and customXml are siblings in EG_ContentBlockContent, both hold CT_SdtContentBlock-shaped content, and both keep their blocks in the parent story's offset space rather than opening one of their own. What this element is rides in custom_xml, shared with the other three levels; this type says only that the level is block.

Its extent rides a mark exactly as a control's does: one key over the characters its blocks realize, snapped to block boundaries at decode. Custom XML and content controls are elements in one XML tree, so they nest within each other and cannot cross — which is why they share one id space and one mark family, and are resolved together rather than each on its own.

Placeholder — the level is modelled, but nothing imports, exports or lays one out yet; layout pins it as a plain span.

Properties ​

PropertyDescription
customXml
CustomXml
w:customXml's uri / element and w:customXmlPr — what the element is.
blocks?
TextBlock[]
The blocks it wraps (EG_ContentBlockContent), in the parent story's offset space. Never empty, for the reason TextControlBlock::blocks is not: a mark cannot hold an empty range.