Bagikan melalui


Kelas System.Xml.Xsl.XslCompiledTransform

Nota

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 kelas XslCompiledTransform sangat mirip dengan kelas XslTransform. Metode Load memuat dan mengompilasi lembar gaya, sementara metode Transform 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. Pembuatan 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 XsltArgumentList yang berisi objek ekstensi diteruskan ke metode Transform, objek tersebut akan 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 yang bervariasi dapat mengakibatkan penyamaran 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.