拥有这样的文件:
<?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模板???
答案 0 :(得分:2)
XSLT 2.0或Saxon-HE中没有try / catch功能。该工具存在于XSLT 3.0中(以及作为XSLT 2.0的Saxon扩展),但在这两种情况下,产品的免费版本都没有。