Correct compilation failures caused by duplicate named declarations.
Overview
Correct compilation failures caused by duplicate named declarations. Author templates against a documented data contract and a known-good base package. Keep source files, sample data, and expected output together.
Key points
- Identical variables, parameters, or named templates are deduplicated.
- Different declarations with the same name cause TEMPLATE_XSLT_DECLARATION_CONFLICT.
- Rename component-local helpers to avoid collisions.
- Move shared helpers into the base template where appropriate.
- Recompile all affected templates after correction.
Recommended procedure
- Prepare sample XML that includes optional and repeated data.
- Author the smallest valid transform or fragment.
- Validate placeholders, XPath, XML, XSLT, and OpenXML structure.
- 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
- Template Authoring Cookbook
- Use Images, Fonts, and Other Template Resources
- WordprocessingML Fragment Authoring
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.