当我尝试访问源 XML 中不存在的属性(或元素)时,我正在寻找一种使 XSLT 抛出错误的简单方法。目前我所做的是首先检查属性是否存在,如果不存在则手动抛出错误 - 例如:
<xsl:if test="not(attribute_to_use)">
<xsl:message terminate="yes">
<xsl:text>error message</xsl:text>
</xsl:message>
</xsl:if>
<!-- do something -->
<xsl:attribute name="new_attribute"><xsl:value-of select="attribute_to_use" /></xsl:attribute>
我发现有很多代码来检查一个属性——特别是如果你对所有属性都这样做。在 XSLT 中有没有其他方法可以做到这一点 - 例如通过设置一个指令,如“对不存在的属性中止”?
我知道这样做的一种方法也是使用 DTD 或模式,如果没有直接的 XSLT 方式,我会这样做。
非常感谢!