XSLT Error Reference

XTMM9000

All versions XSLT dynamic error
Error message
Processing terminated by xsl:message at line NN

Not a processor bug: an xsl:message with terminate="yes" fired. The stylesheet stopped itself — read the message text to see why.

What it means

Someone (possibly you, possibly the author of an imported stylesheet) wrote an assertion:

<xsl:if test="not(order/@id)">
  <xsl:message terminate="yes">Order without id — aborting.</xsl:message>
</xsl:if>

When the condition fires, the transformation stops and Saxon reports XTMM9000 with the line number of the xsl:message. The error code is generic — the real information is the message text printed just before it.

How to fix it

  1. Read the message content: it usually states the violated expectation (missing element, unexpected value, unsupported input variant).
  2. Fix the input data if the assertion is legitimate, or
  3. Fix the assertion if the input is actually valid and the check is too strict.
  4. To keep the warning but continue processing, change to terminate="no" (the default) — the message still prints but the transform completes.

In XSLT Playground the message text appears in the error panel, so you can iterate on input or stylesheet until the assertion passes.