157.13. 从 XSLT ErrorListener 访问警告、错误和严重错误
所有警告/错误或致命Error 都以带有密钥 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>
<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 的警告。