如果輸入有效,則下面的代碼返回「TRUE」,但如果輸入錯誤則返回錯誤。例如,如果月份值爲15,則會引發錯誤。我怎樣才能返回錯誤而不是錯誤/異常?在XSLT 2.0中驗證日期時間
<xsl:template match="SUBSCRIBER">
<xsl:variable name="date-iso" select="dm:stringToDateTime('20130327230844')"/>
<xsl:value-of select="($date-iso castable as xs:dateTime)"/>
</xsl:template>
<xsl:function name="dm:stringToDateTime">
<!-- Convert string to date. Input format YYYYMMDDHHMMSS, Ex:20130116100037 -->
<xsl:param name="p_str" as="xs:string"/>
<xsl:value-of select="xs:dateTime(concat(substring($p_str,0,5),'-',substring($p_str,5,2),'-',substring($p_str,7,2),'T',substring($p_str,9,2),':',substring($p_str,11,2),':',substring($p_str,13,2)))"/>
</xsl:function>