DocumentTableCell.node(...) lets a cell hold a composed node. Since #524 the backend writes
paragraphs and the wrappers around them (ContainerNode, SectionNode), so a cell built from
prose exports. A cell built from an image or a list still lands empty.
The reason is mechanical rather than semantic: writeImage and writeList are written
against XWPFDocument and call document.createParagraph(), so they cannot write into an
XWPFTableCell. Both need re-parameterizing to POI's IBody, which XWPFDocument and
XWPFTableCell both implement, after which writeCellNode can dispatch to them.
examples/.../ComposedTableCellExample.java uses DocumentTableCell.node(actionList), so this
is a shape the catalogue already ships.
Also update the table row of docs/architecture/backend-capability-matrix.md and
render-docx/README.md, both of which currently name this as the remaining composed-cell gap.
DocumentTableCell.node(...)lets a cell hold a composed node. Since #524 the backend writesparagraphs and the wrappers around them (
ContainerNode,SectionNode), so a cell built fromprose exports. A cell built from an image or a list still lands empty.
The reason is mechanical rather than semantic:
writeImageandwriteListare writtenagainst
XWPFDocumentand calldocument.createParagraph(), so they cannot write into anXWPFTableCell. Both need re-parameterizing to POI'sIBody, whichXWPFDocumentandXWPFTableCellboth implement, after whichwriteCellNodecan dispatch to them.examples/.../ComposedTableCellExample.javausesDocumentTableCell.node(actionList), so thisis a shape the catalogue already ships.
Also update the table row of
docs/architecture/backend-capability-matrix.mdandrender-docx/README.md, both of which currently name this as the remaining composed-cell gap.