How can we help you?

WordprocessingML Fragment Authoring

Product: FeraRender Topic: Template Authoring Versions: Applies to all documented versions Current

Build valid OpenXML fragments for insertion into a composite DOCX template.

Audience: Advanced template authors
Recommended visibility: Public

Overview

Build valid OpenXML fragments for insertion into a composite DOCX template. Author templates against a documented data contract and a known-good base package. Keep source files, sample data, and expected output together.

Key points

  • Use the WordprocessingML namespace.
  • Insert paragraphs, tables, and runs rather than a second document body.
  • Do not include a terminal body-level sectPr in a normal fragment.
  • Preserve xml:space where leading or trailing spaces matter.
  • Use styles that exist in the selected base package.

Recommended procedure

  1. Prepare sample XML that includes optional and repeated data.
  2. Author the smallest valid transform or fragment.
  3. Validate placeholders, XPath, XML, XSLT, and OpenXML structure.
  4. Render and compare the result with the expected document.

Authoring checklist

  • Keep the source template under version control or in an approved source library.
  • Keep sanitized sample XML next to the template.
  • Test missing, long, repeated, and special-character values.
  • Validate both the transform and the final DOCX or PDF.
  • Document every external style, font, image, relationship, or resource dependency.

Troubleshooting

The XML or XSLT will not parse

Remove malformed markup, prohibited declarations, and unescaped characters, then validate again.

A placeholder remains visible

Confirm its spelling and field mapping and ensure it was not escaped with a backslash.

The DOCX opens with a repair warning

Inspect OpenXML namespaces, relationships, part paths, content types, and body or section structure.

Related documentation


Documentation source: feradelinc/feradel.render.api, reviewed against repository revision b2c3a710. Verify behavior against the deployed release before publishing exact routes, limits, or version requirements.