Visual Studio 内で EXSLT 関数を使用することは可能ですか? VS で xslt スクリプトを作成してデバッグしています。たとえば、date:add() 関数を使用できるようにするにはどうすればよいですか? 非常に単純なスクリプトはどのように見えるべきですか? どうもありがとう、ペトル
2 に答える
Visual Studio の最新の 3 つのバージョン (2010、2008、および 2005) はすべて、.NET XslCompiledTransform XSLT プロセッサを使用します。XslCompiledTransform は EXSLT 関数を実装していませんcommon:node-set()
。
Visual Studio で他の XSLT プロセッサを使用する簡単で自然な方法はないと思います。また、これを行うためのトリックがあったとしても、この場合、XSLT デバッグを行うことはできません。
最後に、EXSLT は通常、一部の EXSLT 関数の限定的な XSLT 実装を提供します。もちろん、これははるかに強力で便利ではありませんが、その方法を使用することもできます。
私の個人的な推奨事項は、XSLT 2.0の使用を開始することです。これは、XSLT 1.0 よりもはるかに強力であるため、XSLT 2.0 アプリケーションで EXSLT を使用する必要はほとんどありません。
もちろん、VS では XSLT 2.0 はサポートされていませんが、特に優れた XSLT 2.0 および XQuery デバッガーを提供する oXygen などの他の優れた IDE があります。
更新: XslCompiledTransform の EXSLT のサードパーティ実装を使用できます: MVP - XML プロジェクトの EXSLT .NET モジュール。
msxml:scriptタグを使用して、XSLTに独自の関数を含めることもできます。これは単純な関数では正常に機能し、VS2005以降でもデバッグできます。
<msxml:script implements-prefix="user">
<![CDATA[
function toUpperCase(str)
{
return str.toUpperCase();
}
]]>
</msxml:script>