BizTalk Server 2016映射中是否有XSLT 2.0或3.0支持?

时间:2017-06-30 07:36:43

标签: xslt-2.0 biztalk biztalk-mapper xslt-3.0 biztalk-2016

过去,BizTalk(以及一般的.NET框架)除1.0之外不支持任何XSLT版本。我们公司即将升级到BizTalk Server 2016,我想知道在所述BizTalk Server版本中使用XSLT 2.0或3.0进行自定义映射是否可能(并且本机支持)?

我知道他们不太可能实现这一点,但我一直在互联网上漫游,我似乎无法找到这个问题的具体答案。

2 个答案:

答案 0 :(得分:4)

MS支持XSLT> 1.0

可悲的是,MS决定不提供对XSLT的支持> 1.0。这是他们2004年的推理;而且据我所知,它没有被修改过。 https://blogs.msdn.microsoft.com/dareobasanjo/2004/05/13/why-you-wont-see-xslt-2-0-or-xpath-2-0-in-the-next-version-of-the-net-framework/

  

我们没有实现XSLT 2.0和XPath 2.0有几个原因。

     

需要付出很多努力......

他们的XslCompiledTransform确实支持XSLT 1.0的一些额外功能;但它不是标准的,绝不是完全的支持。 https://msdn.microsoft.com/en-us/library/system.xml.xsl.xslcompiledtransform(v=vs.110).aspx

  

XslCompiledTransform类是一个支持XSLT 1.0语法的XSLT处理器。这是一个新的实现,与过时的XslTransform类相比,包括性能提升。 XslCompiledTransform类的结构与XslTransform类非常相似。 Load方法加载并编译样式表,而Transform方法执行XSLT转换。

解决方法:使用第三方解决方案:例如撒克逊

也就是说,在BT中,您可以在业务流程中使用C#类。 Saxon为.net提供XSLT 3.0支持,因此您只需要使用他们的第三方库。这是一个入门指南:

http://www.saxonica.com/html/documentation/about/gettingstarted/gettingstarteddotnet.html

功能请求

.Net Core Framework网站上有一个未解决的问题,请求此支持。一旦它进入框架,BT肯定会利用它。请thumbs up此建议以帮助确定其优先顺序:https://github.com/dotnet/corefx/issues/2295

答案 1 :(得分:3)

不,它只支持XSLT 1.0。

但是已在uservoice上请求Support for XSLT2 or XSLT3

微软回复了

  

Tord Glad Nordahl(微软公司项目经理)回应·2017年3月18日   我们已将此请求转发给.NET团队。我们将保持开放。

如果BizTalk存在任何其他功能或问题,请务必在UserVoice

上提出或投票