2
我想在處理XSLT樣式表時處理異常。例外是由於數據混亂。我有下面這段代碼:Marklogic XSLT異常處理
<span class="ReceiptCell Date">
<xdmp:try>
<xsl:variable name="node" />
<xsl:value-of select="_1:Date"/>
<xsl:value-of select="if (empty($node)) then '(A)' else xdmp:strftime('%d %b %Y',//_1:Date)"/>
<xdmp:catch name="e">
ERROR Rendering Date
<xsl:copy-of select="$e"/>
</xdmp:catch>
</xdmp:try>
</span>
此代碼時我得到以下錯誤在服務器上運行:
2014-03-26 10:40:09.900 Notice: TaxesTime-Search: XSLT-ELTREQ: (err:XTSE0010)
Missing required element child: xdmp:catch required at
fn:doc("/lib/transform-abstract-metadata.xsl")/*:stylesheet/*:template[3]/*:span/*:try
這是沒有意義的,因爲xdmp:抓孩子顯然是有。但是,這段代碼不會導致任何錯誤,但顯然它並沒有做任何事情。
<span class="ReceiptCell Date">
<xdmp:try>
<xdmp:catch name="e">
<xsl:variable name="node" />
<xsl:value-of select="_1:Date"/>
<xsl:value-of select="if (empty($node)) then '(A)' else xdmp:strftime('%d %b %Y',//_1:Date)"/>
ERROR Rendering Date
<xsl:copy-of select="$e"/>
</xdmp:catch>
</xdmp:try>
</span>
謝謝你是我的英雄! – Vlad
這可能在xslt 1.0中嗎?或者它只是xslt 2.0 –