Is there XSLT 2.0 or 3.0 support in BizTalk Server 2016 mapping?

天涯浪子 提交于 2019-12-24 07:07:36

问题


In the past, BizTalk (and the .NET framework in general) has not supported any XSLT version besides 1.0. Our company is about to upgrade to BizTalk Server 2016, and I was wondering whether it's possible (and natively supported) to use XSLT 2.0 or 3.0 for custom mapping in said BizTalk Server version?

I know it's not likely they've implemented this, but I've been roaming the internet and I can't seem to find a concrete answer to this question.


回答1:


No, it only supports XSLT 1.0.

However it has been requested on uservoice see Support for XSLT2 or XSLT3

And Microsoft responded

Tord Glad Nordahl (Program Manager, Microsoft Corp) responded · March 18, 2017 We have forwarded this request to the .NET team. We will keep this open.

If there are any other features or issues with BizTalk, make sure to raise or vote on them on UserVoice




回答2:


MS Support for XSLT >1.0

Sadly MS took the decision not to provide support for XSLT > 1.0. Here's their reasoning from 2004; and so far as I can see it's not been revised since. 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/

There are several reasons why we aren’t implementing XSLT 2.0 and XPath 2.0.

It takes a lot of effort...

Their XslCompiledTransform does support some additional features over XSLT 1.0; but it's non-standard and by no means full support. https://msdn.microsoft.com/en-us/library/system.xml.xsl.xslcompiledtransform(v=vs.110).aspx

The XslCompiledTransform class is an XSLT processor that supports the XSLT 1.0 syntax. It is a new implementation and includes performance gains when compared to the obsolete XslTransform class. The structure of the XslCompiledTransform class is very similar to the XslTransform class. The Load method loads and compiles the style sheet, while the Transform method executes the XSLT transform.

Workaround: Use a 3rd Party solution: e.g. Saxon

That said, in BT you can make use of C# classes within orchestrations. Saxon provides support for XSLT 3.0 for .net, so you just need to make use of their third party library. Here's a getting started guide:

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

Feature Request

There is an open issue on the .Net Core Framework site requesting this support. Once it's in the framework, BT would surely make use of it. Please thumbs up this suggestion to help prioritise it: https://github.com/dotnet/corefx/issues/2295



来源:https://stackoverflow.com/questions/44841104/is-there-xslt-2-0-or-3-0-support-in-biztalk-server-2016-mapping

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!