Bug #5684
closed[SAXON 11] Message emitter not working
100%
Description
Hello, i notice that the -m option is no longer supported from 11 version but in the documentation the messageEmitter attribute in configuration file seems to be supported but not working ? perhaps a mistake in the documentation. Thanks
Updated by Michael Kay over 2 years ago
- Category set to Documentation
- Status changed from New to Resolved
- Assignee set to Michael Kay
- Priority changed from High to Low
- Applies to branch 11, trunk added
- Fix Committed on Branch 11, trunk added
Thank you. I have updated the documentation. All the interfaces to get and set a MessageEmitter are still there, for backwards compatibility, but in 11.x they are ignored.
(For reference, the problem with the MessageEmitter API was that there was no way of making it thread-safe.)
Updated by hamdi karray over 2 years ago
Thank-you for your prompt response. For my part, I do a lot of pxslt rocessing in multithreading mode by putting a class that translates the xsl: message into log4j and it works very well. Maybe you are referring to multithreading within the same xslt (saxon:treads, allowMultiThreading ...) ?
Updated by Michael Kay over 2 years ago
Correct, Saxon can do multithreading within a single transformation (e.g. if you do xsl:result-document in Saxon-EE). The MessageEmitter interface involved making multiple calls to the same MessageEmitter for a single xsl:message instruction, and if two xsl:message instructions were executed in different threads there was no way the MessageEmitter could disentangle them.
We replaced the MessageEmitter
quite a while ago with the MessageListener
interface which made a single call to the supplied callback. But we've since revised that to capture all information about a message in a Message
object, because we found it was difficult to extend the interface to supply additional information such as the location of the xsl:message instruction.
Updated by Debbie Lockett about 2 years ago
- Status changed from Resolved to Closed
- % Done changed from 0 to 100
Documentation 11 updated online.
Please register to edit this issue