How can we help you?

Resolve XSLT Declaration Conflicts

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

Correct compilation failures caused by duplicate named declarations.

Audience: Advanced template authors
Recommended visibility: Public

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

  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.