How can we help you?

XSLT Security Restrictions

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

Understand the XSLT instructions and functions FeraRender blocks.

Audience: Advanced template authors and security reviewers
Recommended visibility: Public

Overview

Understand the XSLT instructions and functions FeraRender blocks. Author templates against a documented data contract and a known-good base package. Keep source files, sample data, and expected output together.

Key points

  • External document and text access are prohibited.
  • Imports, includes, result documents, scripts, and dynamic evaluation are blocked.
  • Dangerous Java, EXPath, and Saxon extension namespaces are blocked.
  • DOCTYPE and entity declarations are rejected.
  • Keep transforms deterministic and based only on supplied data.

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.