134.13. 从 XSLT ErrorListener 访问警告、错误和致命错误
任何 warning/error 或 fatalError 都作为属性存储在当前 Exchange 上,带有密钥 Exchange.XSLT_ERROR、Exchange.XSLT_FATAL_ERROR 或 Exchange.XSLT_WARNING (允许最终用户在转换过程中出现任何错误)。
例如,在下面的样式表中,我们希望确定某个员工是否有空的 dob 字段。和,使用 xsl:message 包含自定义错误消息。
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="staff/programmer">
<p>Name: <xsl:value-of select="name"/><br />
<xsl:if test="dob=''">
<xsl:message terminate="yes">Error: DOB is an empty string!</xsl:message>
</xsl:if>
</p>
</xsl:for-each>
</body>
</html>
</xsl:template>
例外存储在 Exchange 上,作为带有密钥 Exchange.XSLT_WARNING 的警告信息。