想知道Altova XML间谍



Altova XMLspy支持XSLT 3.0、2.0和1.0吗?

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

首先,XMLSpy是一个类似Stylus Studio或oXygen的XMLIDE,而不是像Saxon 9那样的纯XSLT和XQuery处理器。我认为XMLSpy中的XSLT和XQuery处理是由Altova的Raptor XSLT和XQuery实现提供的。至于XSLT3支持,我认为唯一不支持的主要功能是流。

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

XMLSpy的XSLT3.0引擎符合万维网2017年6月8日联合会(W3C)XSLT3.0建议和XPath3.1 2017年3月21日的建议。

XSLT3.0引擎具有相同的具体实现XSLT2.0引擎的特性。此外,它还包括支持许多新的XSLT3.0功能:XPath/XXQuery3.1函数和运算符,以及XPath3.1规范。

注:当前不支持可选的流功能。整个无论的值如何,文档都将加载到内存中streamable属性,如果有足够的内存,将进行处理可获得的在64位应用程序中,这应该不是问题。如果内存结果是一个问题,解决方案是向系统

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

至于向后兼容性,当在XMLSpy 2018中运行XSLT3.0样式表并检查系统属性xsl:supports-backwards-compatibility时,结果是yes。但是,我不确定是否有任何方法可以在XMLSpyIDE中使用XSLT3引擎运行XSLT1样式表。

然而,我还没有尝试运行一个简单的测试,看看你是否可以在version="3.0"样式表和Saxon 9.8 HE以及的XMLSpy 2018中切换到XSLT1.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>

因此基于此,如果需要,它们都支持开启CCD_ 4进行向后兼容处理。

最新更新