XSLT 2.0 - Saxon Result-document跳过错误?

时间:2015-10-23 11:06:14

标签: error-handling xslt-2.0 saxon

拥有这样的文件:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    exclude-result-prefixes="xs">

    <xsl:import href="file0.xsl"/>
    <xsl:import href="file1.xsl"/>
    <xsl:import href="file2.xsl"/>

    <xsl:output indent="yes"/>

    <xsl:template match="/">
        <root>
            <xsl:result-document href="../xml/file0.xml" method="xml">
                <xsl:call-template name="file0"/>
            </xsl:result-document>

            <xsl:result-document href="../xml/file1.xml" method="xml">
                <xsl:call-template name="file1"/>
            </xsl:result-document>

            <xsl:result-document href="../xml/file2.xml" method="xml">
                <xsl:call-template name="file2"/>
            </xsl:result-document>
        </root> 
    </xsl:template>

</xsl:stylesheet>
  

问:如果有result-document个元素之一无法执行,可以继续转换。

     

e.g。 file1.xsl在模板file1中抛出一个错误,是否会执行file2模板???

1 个答案:

答案 0 :(得分:2)

XSLT 2.0或Saxon-HE中没有try / catch功能。该工具存在于XSLT 3.0中(以及作为XSLT 2.0的Saxon扩展),但在这两种情况下,产品的免费版本都没有。