Quick question...
I've added some error proofing into an XSL template that terminates processing. I added debug into the <xsl:message terminate="yes"/> statement but the message does not appear to write to the shell output as I expected it to.
ERR ISHPublDITAOTUtil::StreamDITAOTLogFiles -> Build failed.
BUILD FAILED
C:\InfoShare\App\Utilities\DITA-OT\Edwards\build.xml:44: The following error occurred while executing this line:
C:\InfoShare\App\Utilities\DITA-OT\Edwards\build.xml:1054: ; SystemID: file:/C:/InfoShare/App/Utilities/DITA-OT/Edwards/plugins/com.edwards.label.skunkworks/xsl/transform/labelData_v2.xsl; Line#: 78; Column#: -1
net.sf.saxon.instruct.TerminationException: Processing terminated by xsl:message at line 79 in labelData_v2.xsl
at net.sf.saxon.instruct.Message.processLeavingTail(Message.java:222)
at net.sf.saxon.instruct.Choose.processLeavingTail(Choose.java:686)
at net.sf.saxon.instruct.Block.processLeavingTail(Block.java:556)
at net.sf.saxon.expr.LetExpression.processLeavingTail(LetExpression.java:549)
yadda yadda yadda java stuff
The outcome is desired. I do want to terminate processing and cause a failure. However, I need to capture why it failed. I know what is happening at line 79 but my users don't.
For reference, the content of the xsl:message:
ERROR: Missing translation! Processing will now terminate. Failed processing the ID: {{GUID HERE}} Requested Languages: EN ES Topics to be translated: {{GUID HERE}}, {{GUID HERE}}, {{GUID HERE}}
Please verify the publication properties and ensure all TRANSLATE topics have the requested translations available in the CMS.
Is there a means or mechanism through which I can push the content of the xsl:message to the Publishing engine for logging purposes? The specific stop in this case is expected content in map that is missing in a custom transform.
Thanks.