377.10. XSLT ErrorListener からの警告、エラー、および致命的なエラーへのアクセス

Camel 2.14 から利用可能

Camel 2.14 から、すべての警告/エラーまたは fatalError は、キーが Exchange.XSLT_ERRORExchange.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>

例外は、キーが Exchange.XSLT_WARNING. の警告として Exchange に保存されます。