Altova XMLSpy 2024 Professional Edition

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

 

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

 

提示:目前不支持可选的流媒体功能。整个文件将被加载到内存中,而不考虑streamable特性的值。如果有足够的内存可用,则:(i) 在没有流媒体的情况下处理整个文档,(ii) 将正确处理guaranteed-streamable constructs,就像执行时使用流媒体一样,以及(iii) 将不会检测到流媒体错误。在64位的应用程序中,非流式执行应该不是问题。如果内存确实是一个问题,解决方法是在系统中增加更多的内存。

 

命名空间

您的XSLT 3.0样式表应该声明以下命名空间,以便能够使用XSLT 3.0中所有可用的类型构造器和函数。通常使用下面给出的前缀;您可以根据需要使用其他前缀。

 

命名空间名称

前缀

命名空间URI

XML Schema types

xs:

http://www.w3.org/2001/XMLSchema

XPath/XQuery 3.1 functions

fn:

http://www.w3.org/2005/xpath-functions

Math functions

math:

http://www.w3.org/2005/xpath-functions/math

Map functions

map:

http://www.w3.org/2005/xpath-functions/map

Array functions

array:

http://www.w3.org/2005/xpath-functions/array

XQuery, XSLT, and XPath Error Codes

err:

http://www.w3.org/2005/xpath-functions/xqt-errors

Serialization functions

output

http://www.w3.org/2010/xslt-xquery-serialization

 

通常,这些命名空间将在xsl:stylesheetxsl:transform元素上声明,如下方片段所示:

 

<xsl:stylesheet version="3.0"

  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

  xmlns:xs="http://www.w3.org/2001/XMLSchema"

  xmlns:fn="http://www.w3.org/2005/xpath-functions"

  ...

</xsl:stylesheet>

 

请注意以下几点:

 

XSLT 3.0引擎使用XPath and XQuery Functions and Operators 3.1命名空间(已在上表中列出)作为其默认函数命名空间。因此,您可以在样式表中使用该命名空间的函数,而无需任何前缀。如果您在样式表中使用前缀来声明Functions命名空间,您可以额外使用声明中指定的前缀。

使用XML Schema命名空间中的类型构造器和类型时,命名空间声明中使用的前缀必须在调用类型构造器(例如,xs:date)时使用。

某些XPath/XQuery函数与XML Schema数据类型具有相同的名称。例如,对于XPath函数fn:stringfn:boolean,存在具有相同本地名称的XML Schema数据类型:xs:stringxs:boolean。因此,如果您要使用XPath表达式string('Hello'),则表达式将被计算为fn:string('Hello'),而不是xs:string('Hello')

 

© 2017-2023 Altova GmbH