想了解Altova XML Spy

时间:2017-10-26 07:40:44

标签: xml xslt altova xmlspy

Altova XMLspy是否支持XSLT 3.0,2.0和1.0?

如果是,是否有向后兼容的选项?因为我在他们的手册中看到XSLT 2.0向后兼容1.0不确定3.0。我想要一个选项,其中3.0向后兼容2.0和1.0。

1 个答案:

答案 0 :(得分:2)

首先,XMLSpy是像Stylus Studio或oXygen这样的XML IDE,而不是像Saxon 9这样的纯XSLT和XQuery处理器。我认为XMLSpy中的XSLT和XQuery处理是由Altova的Raptor XSLT和XQuery实现提供的。至于XSLT 3支持,我认为唯一不支持的市长功能是流式传输。

http://manual.altova.com/XMLSpy/spyenterprise/index.html?xsxqengine_xslt30.htm

  

XMLSpy的XSLT 3.0引擎符合万维网   2017年6月8日的联盟(W3C&#39)XSLT 3.0建议书和XPath   3.1 2017年3月21日的建议。

     

XSLT 3.0引擎具有相同的特定于实现   作为XSLT 2.0引擎的特性。此外,它还包括   支持许多新的XSLT 3.0功能:XPath / XQuery 3.1   函数和运算符,以及XPath 3.1规范。

     

注意:   目前不支持可选的流功能。整个   无论文件的价值如何,文件都会被加载到内存中   streamable属性,如果有足够的内存,将被处理   可用。在64位应用程序中,这应该不是问题。如果记忆呢   结果是一个问题,一个解决方案是增加更多的内存   系统

另请注意,他们提供了评估许可,因此您可以尝试自己满足哪些要求。

至于向后兼容性,在XMLSpy 2018中运行XSLT 3.0样式表并检查系统属性xsl:supports-backwards-compatibility时,结果为yes。我不确定是否有办法在XMLSpy IDE中运行带有XSLT 3引擎的XSLT 1样式表。

但是我没有尝试过运行一个简单的测试,是否可以在version="3.0"样式表和Saxon 9.8 HE以及XMLSpy 2018中切换到XSLT 1.0向后兼容性

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">

    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

    <xsl:param name="foo-list">
        <foo>1</foo>
        <foo>2</foo>
    </xsl:param>

    <xsl:template match="/" name="xsl:initial-template">
        <result>
            <result version="3.0">
                <xsl:value-of select="$foo-list/foo"/>
            </result>
            <result xsl:version="1.0" version="1.0">
                <xsl:value-of select="$foo-list/foo"/>
            </result>
        </result>
    </xsl:template>

</xsl:stylesheet>

输出

<result>
    <result version="3.0">1 2</result>
    <result version="1.0">1</result>
</result>

因此,如果需要,他们都支持切换xsl:version="1.0"以进行向后兼容处理。