Kelas System.Xml.Xsl.XslCompiledTransform

Artikel ini menyediakan keterangan tambahan untuk dokumentasi referensi untuk API ini.

Kelas XslCompiledTransform adalah prosesor XSLT yang mendukung sintaks XSLT 1.0. Ini adalah implementasi baru dan mencakup perolehan performa jika dibandingkan dengan kelas usang XslTransform . Struktur XslCompiledTransform kelas sangat mirip XslTransform dengan kelas . Metode memuat Load dan mengkompilasi lembar gaya, sementara Transform metode menjalankan transformasi XSLT.

Dukungan untuk fungsi XSLT document() dan blok skrip yang disematkan dinonaktifkan secara default. Fitur-fitur ini dapat diaktifkan dengan membuat XsltSettings objek dan meneruskannya ke Load metode .

Untuk informasi selengkapnya, lihat Menggunakan Kelas XslCompiledTransform dan Migrasi Dari Kelas XslTransform.

Pertimbangan keamanan

Saat membuat aplikasi yang menggunakan XslCompiledTransform kelas , Anda harus mengetahui item berikut dan implikasinya:

  • Pembuatan skrip XSLT dinonaktifkan secara default. Skrip XSLT harus diaktifkan hanya jika Anda memerlukan dukungan skrip dan Anda bekerja di lingkungan yang sepenuhnya tepercaya.

  • Fungsi XSLT document() dinonaktifkan secara default. Jika Anda mengaktifkan document() fungsi, batasi sumber daya yang dapat diakses dengan meneruskan XmlSecureResolver objek ke Transform metode .

  • Objek ekstensi diaktifkan secara default. Jika objek yang XsltArgumentList berisi objek ekstensi diteruskan ke Transform metode , objek tersebut digunakan.

  • Lembar gaya XSLT dapat menyertakan referensi ke file lain dan blok skrip yang disematkan. Pengguna berbahaya dapat mengeksploitasi ini dengan memberi Anda lembar data atau gaya yang ketika dijalankan dapat menyebabkan sistem Anda memproses hingga komputer kehabisan sumber daya.

  • Aplikasi XSLT yang berjalan di lingkungan kepercayaan campuran dapat mengakibatkan spoofing lembar gaya. Misalnya, pengguna berbahaya dapat memuat objek dengan lembar gaya berbahaya dan menyerahkannya kepada pengguna lain yang kemudian memanggil Transform metode dan menjalankan transformasi.

Masalah keamanan ini dapat dimitigasi dengan tidak mengaktifkan pembuatan skrip atau document() fungsi kecuali lembar gaya berasal dari sumber tepercaya, dan dengan tidak menerima XslCompiledTransform objek, lembar gaya XSLT, atau data sumber XML dari sumber yang tidak tepercaya.