XslCompiledTransform クラス
アセンブリ: System.Xml (system.xml.dll 内)


XslCompiledTransform クラスは、XSLT 1.0 構文をサポートする XSLT プロセッサです。これは新しく実装されたクラスで、使用されなくなった XslTransform クラスに比べパフォーマンスが向上しています。XslCompiledTransform クラスの構造は、XslTransform クラスに非常によく似ています。Transform メソッドが XSLT の変換を実行するのに対し、Load メソッドはスタイル シートを読み込んでコンパイルします。
XSLT の document() 関数と埋め込みスクリプト ブロックのサポートは既定で無効になっています。XsltSettings オブジェクトを作成し、それを Load メソッドに渡すと、これらの機能を有効にできます。
詳細については、XslCompiledTransform クラスの使用、XslTransform クラスからの移行 の各トピックを参照してください。
セキュリティについての考慮事項XslCompiledTransform クラスを使用するアプリケーションを作成する場合は、次の項目とその影響に注意してください。
-
既定では、XSLT スクリプトが無効にされています。どうしてもスクリプトをサポートする必要がある場合、または、完全に信頼された環境で使用する場合を除き、XSLT スクリプトは有効にしないでください。
-
既定では、XSLT の document() 関数が無効にされています。document() 関数を有効にした場合は、XmlSecureResolver オブジェクトを Transform メソッドに渡すことによって、アクセス可能なリソースを制限してください。
-
拡張機能オブジェクトは既定で有効になっています。拡張機能オブジェクトは、それを格納している XsltArgumentList オブジェクトが Transform メソッドに渡されると使用されます。
-
XSLT スタイル シートには、他のファイルへの参照および埋め込みスクリプト ブロックを含めることができます。悪意のあるユーザーがこれを利用して、実行するとシステムでの処理によってコンピュータのリソースの低下を招くようなデータまたはスタイル シートを含める可能性があります。
-
信頼レベルが一定ではない環境で XSLT アプリケーションを実行する場合、スタイル シートがすり替えられる可能性があります。たとえば、悪意のあるユーザーが有害なスタイル シートを使ってオブジェクトを読み込み、それを別のユーザーに送ると、それを受け取ったユーザーが Transform メソッドを呼び出して変換を実行する可能性があります。
これらのセキュリティに関する問題は、信頼関係のないソースから取得したスタイル シートの場合はスクリプトまたは document() 関数を無効のままにしたり、信頼関係のないソースからの XslCompiledTransform オブジェクト、XSLT スタイル シート、および XML ソース データを受け入れないようにしたりすることで軽減できます。


System.Xml.Xsl.XslCompiledTransform

XslCompiledTransform オブジェクトは、読み込まれるとスレッド セーフになります。つまり、Load メソッドが正常に完了すると、複数のスレッドから Transform メソッドを同時に呼び出すことができます。
Transform メソッドが、あるスレッドで呼び出されているときに、別のスレッドで Load メソッドがもう一度呼び出されると、XslCompiledTransform オブジェクトは古い状態の使用を継続することにより、Transform 呼び出しの実行を終了します。Load メソッドが正常に完了すると、新しい状態が使用されます。
![]() |
---|

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- XslCompiledTransform クラスのページへのリンク