2

これまで、BizTalk (および一般的な .NET フレームワーク) は、1.0 以外の XSLT バージョンをサポートしていませんでした。私たちの会社は BizTalk Server 2016 にアップグレードしようとしていますが、BizTalk Server バージョンでカスタム マッピングに XSLT 2.0 または 3.0 を使用することが可能 (かつネイティブにサポートされている) かどうか疑問に思っていました。

彼らがこれを実装した可能性が低いことはわかっていますが、私はインターネットをローミングしており、この質問に対する具体的な答えを見つけることができないようです.

4

2 に答える 2

4

XSLT >1.0 の MS サポート

残念ながら、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 変換を実行します。

回避策: サードパーティのソリューションを使用してください: Saxon など

つまり、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

于 2017-06-30T08:11:23.263 に答える