Project

Profile

Help

Bug #4621

closed

Exception raised by xsl:message terminate="yes" is intercepted by an Atomizer

Added by Michael Kay over 3 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
XSLT conformance
Sprint/Milestone:
-
Start date:
2020-06-29
Due date:
% Done:

100%

Estimated time:
Legacy ID:
Applies to branch:
10, 9.9
Fix Committed on Branch:
10, 9.9
Fixed in Maintenance Release:
Platforms:

Description

When the result of an expression needs to be atomized, and that expression fails because of <xsl:message terminate="yes">, the atomizer catches the termination exception and adds to the exception message; in the course of this it loses the fact that the exception originated with xsl:message, and as a consequence (for example) the dynamic error information variable $err:value is incorrectly set when the exception is subsequently caught by a try/catch.

The Atomizer expression recognises the exception thrown by a call to fn:error() and treats it specially; it needs to do the same with the exception thrown by a call to xsl:message.

Raised by AirQuick on the saxon-help mailing list.

Please register to edit this issue

Also available in: Atom PDF