364.10. XSLT ErrorListener からの警告、エラー、および致命的なエラーへのアクセス
Camel 2.14 から利用可能
Camel 2.14 から、すべての警告/エラーまたは fatalError は、キーが Exchange.XSLT_ERROR
、Exchange.XSLT_FATAL_ERROR
、または Exchange.XSLT_WARNING
のプロパティーとして現在の Exchange に格納されるので、エンドユーザーは変換中に発生したエラーを把握できます。
たとえば、以下のスタイルシートでは、スタッフに 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.XSLT_WARNING.
の警告として Exchange に保存されます。