XslTransform Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Perhatian
This class has been deprecated. Please use System.Xml.Xsl.XslCompiledTransform instead. http://go.microsoft.com/fwlink/?linkid=14202
Mengubah data XML menggunakan lembar gaya Extensible Stylesheet Language for Transformations (XSLT).
public ref class XslTransform sealed
public sealed class XslTransform
[System.Obsolete("This class has been deprecated. Please use System.Xml.Xsl.XslCompiledTransform instead. http://go.microsoft.com/fwlink/?linkid=14202")]
public sealed class XslTransform
type XslTransform = class
[<System.Obsolete("This class has been deprecated. Please use System.Xml.Xsl.XslCompiledTransform instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
type XslTransform = class
Public NotInheritable Class XslTransform
- Warisan
-
XslTransform
- Atribut
Keterangan
Note
Kelas XslTransform usang dalam Microsoft .NET Framework versi 2.0. Kelas XslCompiledTransform adalah prosesor XSLT baru. Untuk informasi selengkapnya, lihat Menggunakan Kelas XslCompiledTransform dan Migrasi Dari Kelas XslTransform.
XslTransform mendukung sintaks XSLT 1.0. Lembar gaya XSLT harus menggunakan namespace http://www.w3.org/1999/XSL/Transform.
Argumen tambahan juga dapat ditambahkan ke lembar gaya menggunakan XsltArgumentList kelas . Kelas ini berisi parameter input untuk lembar gaya dan objek ekstensi yang dapat dipanggil dari lembar gaya.
Untuk mengubah data XML:
Membuat objek XslTransform.
Load Gunakan metode untuk memuat lembar gaya untuk transformasi. Metode ini memiliki beberapa kelebihan beban dan dapat memuat lembar gaya menggunakan XmlReader, , XPathNavigatorIXPathNavigable, atau URL dengan lokasi file.
Transform Gunakan metode untuk mengubah data XML. Metode ini memiliki beberapa kelebihan beban dan dapat menangani berbagai jenis input dan output. Anda juga dapat menentukan argumen tambahan yang XsltArgumentList berisi untuk digunakan sebagai input selama transformasi.
Pertimbangan Keamanan
Saat membuat aplikasi yang menggunakan XslTransform kelas , Anda harus mengetahui item berikut dan implikasinya:
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 akan 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 menerima XslTransform objek, lembar gaya XSLT, atau data sumber XML dari sumber yang tidak tepercaya.
Dukungan Pembuatan Skrip
Kelas ini mendukung pembuatan skrip yang disematkan menggunakan msxsl:script elemen .
Dalam versi 1.1 dari .NET Framework, bukti lembar gaya menentukan izin apa yang diberikan untuk skrip yang disematkan.
Jika lembar gaya dimuat dari Pengidentifikasi Sumber Daya Seragam (URI), URI digunakan untuk membuat bukti. Bukti ini mencakup URI bersama dengan situs dan zonanya.
Jika lembar gaya dimuat menggunakan sumber lain, Anda dapat memberikan bukti dengan meneruskan System.Security.Policy.Evidence objek ke Load metode . Jika tidak, rakitan skrip memiliki kepercayaan penuh.
Penelepon semi tepercaya: UnmanagedCode izin diperlukan untuk mengkompilasi skrip yang disematkan.
ControlEvidence izin diperlukan untuk menyediakan EvidenceLoad metode . A SecurityException dilemparkan jika penelepon tidak memiliki izin yang diperlukan. Lihat System.Security.Permissions.SecurityPermission dan System.Security.Permissions.SecurityPermissionFlag untuk informasi selengkapnya.
Elemen msxsl:script ini memiliki persyaratan berikut:
Elemen
msxsl:scriptmilikurn:schemas-microsoft-com:xsltnamespace layanan. Lembar gaya harus menyertakan deklarasixmlns:msxsl=urn:schemas-microsoft-com:xsltnamespace layanan .Elemen
msxsl:scriptdapat menyertakanlanguageatribut yang menentukan bahasa skrip yang akan digunakan. Nilailanguageatribut harus salah satu dari yang berikut: C#, CSharp, VB, VisualBasic, JScript, atau JavaScript. Karena nama bahasa tidak peka huruf besar/kecil, JavaScript dan javascript keduanya valid.languageJika atribut tidak ditentukan, atribut tersebut default ke JScript.Elemen
msxsl:scriptharus menyertakanimplements-prefixatribut yang berisi awalan yang mewakili namespace yang terkait dengan blok skrip. Namespace layanan ini harus ditentukan dalam lembar gaya. Lembar gaya dapat menyertakan beberapa blok skrip yang dikelompokkan menurut namespace. Anda tidak dapat memiliki blok skrip dengan beberapa bahasa dalam namespace yang sama. Blok skrip dapat memanggil fungsi yang ditentukan dalam blok skrip lain, asalkan blok skrip berada dalam namespace yang sama. Konten blok skrip diurai sesuai dengan aturan dan sintaks bahasa pembuatan skrip (disediakan olehlanguageatribut). Misalnya, jika Anda memiliki blok skrip C#, komentar akan diawali oleh//karakter. Komentar harus berupa konten XML yang valid.
Note
Disarankan agar Anda membungkus blok skrip di bagian CDATA.
<msxsl:script implements-prefix='xy' language='C#'>
<![CDATA[
// Add code here.
]]>
</msxsl:script>
Fungsi dapat dideklarasikan dalam msxsl:script elemen . Tabel berikut ini memperlihatkan namespace layanan yang didukung secara default.
| Namespace yang Didukung | Deskripsi |
|---|---|
System |
Kelas sistem. |
System.Collection |
Kelas koleksi. |
System.Text |
Kelas penanganan teks. |
System.Xml |
Kelas XML inti. |
System.Xml.Xsl |
Kelas XSLT. |
System.Xml.XPath |
Kelas Bahasa Jalur XML (XPath). |
Argumen yang disediakan dan mengembalikan nilai yang ditentukan oleh fungsi skrip harus merupakan salah satu jenis World Wide Web Consortium (W3C) yang tercantum di bawah ini. Tabel berikut merinci pemetaan antara jenis W3C, baik XPath atau XSLT, dan kelas .NET Framework yang sesuai.
| Jenis W3C | Kelas .NET yang setara |
|---|---|
| String (XPath) | System.String |
| Boolean (XPath) | System.Boolean |
| Angka (XPath) | System.Double |
| Fragmen Pohon Hasil (XSLT) | System.Xml.XPath.XPathNavigator |
| Set Simpul (XPath) | System.Xml.XPath.XPathNodeIterator |
Jika fungsi skrip menggunakan salah satu jenis numerik berikut: Int16, UInt16, Int32, UInt32, Int64, UInt64, Single, atau Decimal, jenis ini dikoerasikan ke Double, yang memetakan ke nomor jenis W3C XPath.
Pengecualian dilemparkan ketika fungsi disebut yang tidak dapat mengonversi hasil argumen ke salah satu jenis yang diperlukan.
Note
msxsl:script dan msxsl:node-list adalah satu-satunya fungsi dari urn:schemas-microsoft-com:xslt namespace layanan yang didukung oleh XslTransform kelas .
XslTransform memiliki kemampuan untuk menggunakan kode runtime bahasa umum (CLR) sebagai mekanisme ekstensi. Ini dicapai dengan meneruskan instans kelas ke XslTransform kelas dan memanggil metode publiknya dalam lembar gaya XSLT. Metode yang didefinisikan dengan params kata kunci, yang memungkinkan jumlah parameter yang tidak ditentukan untuk diteruskan, tidak berfungsi dengan benar dalam skenario ini. Lihat param untuk detail selengkapnya.
Untuk informasi selengkapnya, lihat Transformasi XSLT dengan Kelas XslTransform.
Konstruktor
| Nama | Deskripsi |
|---|---|
| XslTransform() |
Kedaluwarsa.
Menginisialisasi instans baru dari kelas XslTransform. |
Properti
| Nama | Deskripsi |
|---|---|
| XmlResolver |
Kedaluwarsa.
Mengatur yang XmlResolver digunakan untuk mengatasi sumber daya eksternal saat metode dipanggil Transform . |
Metode
| Nama | Deskripsi |
|---|---|
| Equals(Object) |
Kedaluwarsa.
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
| GetHashCode() |
Kedaluwarsa.
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
| GetType() |
Kedaluwarsa.
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| Load(IXPathNavigable, XmlResolver, Evidence) |
Kedaluwarsa.
Memuat lembar gaya XSLT yang terkandung dalam IXPathNavigable. Metode ini memungkinkan Anda membatasi izin lembar gaya dengan menentukan bukti. |
| Load(IXPathNavigable, XmlResolver) |
Kedaluwarsa.
Memuat lembar gaya XSLT yang terkandung dalam IXPathNavigable. |
| Load(IXPathNavigable) |
Kedaluwarsa.
Memuat lembar gaya XSLT yang terkandung dalam IXPathNavigable. |
| Load(String, XmlResolver) |
Kedaluwarsa.
Memuat lembar gaya XSLT yang ditentukan oleh URL. |
| Load(String) |
Kedaluwarsa.
Memuat lembar gaya XSLT yang ditentukan oleh URL. |
| Load(XmlReader, XmlResolver, Evidence) |
Kedaluwarsa.
Memuat lembar gaya XSLT yang terkandung dalam XmlReader. Metode ini memungkinkan Anda membatasi izin lembar gaya dengan menentukan bukti. |
| Load(XmlReader, XmlResolver) |
Kedaluwarsa.
Memuat lembar gaya XSLT yang terkandung dalam XmlReader. |
| Load(XmlReader) |
Kedaluwarsa.
Memuat lembar gaya XSLT yang terkandung dalam XmlReader. |
| Load(XPathNavigator, XmlResolver, Evidence) |
Kedaluwarsa.
Memuat lembar gaya XSLT yang terkandung dalam XPathNavigator. Metode ini memungkinkan Anda membatasi izin lembar gaya dengan menentukan bukti. |
| Load(XPathNavigator, XmlResolver) |
Kedaluwarsa.
Memuat lembar gaya XSLT yang terkandung dalam XPathNavigator. |
| Load(XPathNavigator) |
Kedaluwarsa.
Memuat lembar gaya XSLT yang terkandung dalam XPathNavigator. |
| MemberwiseClone() |
Kedaluwarsa.
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| ToString() |
Kedaluwarsa.
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
| Transform(IXPathNavigable, XsltArgumentList, Stream, XmlResolver) |
Kedaluwarsa.
Mengubah data XML dalam IXPathNavigable menggunakan yang ditentukan |
| Transform(IXPathNavigable, XsltArgumentList, Stream) |
Kedaluwarsa.
Mengubah data XML dalam IXPathNavigable menggunakan yang ditentukan |
| Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver) |
Kedaluwarsa.
Mengubah data XML dalam IXPathNavigable menggunakan yang ditentukan |
| Transform(IXPathNavigable, XsltArgumentList, TextWriter) |
Kedaluwarsa.
Mengubah data XML dalam IXPathNavigable menggunakan yang ditentukan |
| Transform(IXPathNavigable, XsltArgumentList, XmlResolver) |
Kedaluwarsa.
Mengubah data XML dalam IXPathNavigable menggunakan yang ditentukan |
| Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver) |
Kedaluwarsa.
Mengubah data XML dalam IXPathNavigable menggunakan yang ditentukan |
| Transform(IXPathNavigable, XsltArgumentList, XmlWriter) |
Kedaluwarsa.
Mengubah data XML dalam IXPathNavigable menggunakan yang ditentukan |
| Transform(IXPathNavigable, XsltArgumentList) |
Kedaluwarsa.
Mengubah data XML dalam IXPathNavigable menggunakan yang ditentukan |
| Transform(String, String, XmlResolver) |
Kedaluwarsa.
Mengubah data XML dalam file input dan menghasilkan hasilnya ke file output. |
| Transform(String, String) |
Kedaluwarsa.
Mengubah data XML dalam file input dan menghasilkan hasilnya ke file output. |
| Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver) |
Kedaluwarsa.
Mengubah data XML dalam XPathNavigator menggunakan yang ditentukan |
| Transform(XPathNavigator, XsltArgumentList, Stream) |
Kedaluwarsa.
Mengubah data XML dalam XPathNavigator menggunakan yang ditentukan |
| Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver) |
Kedaluwarsa.
Mengubah data XML dalam XPathNavigator menggunakan yang ditentukan |
| Transform(XPathNavigator, XsltArgumentList, TextWriter) |
Kedaluwarsa.
Mengubah data XML dalam XPathNavigator menggunakan yang ditentukan |
| Transform(XPathNavigator, XsltArgumentList, XmlResolver) |
Kedaluwarsa.
Mengubah data XML dalam XPathNavigator menggunakan yang ditentukan |
| Transform(XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver) |
Kedaluwarsa.
Mengubah data XML dalam XPathNavigator menggunakan arg yang ditentukan dan menghasilkan hasilnya menjadi XmlWriter. |
| Transform(XPathNavigator, XsltArgumentList, XmlWriter) |
Kedaluwarsa.
Mengubah data XML dalam XPathNavigator menggunakan arg yang ditentukan dan menghasilkan hasilnya menjadi XmlWriter. |
| Transform(XPathNavigator, XsltArgumentList) |
Kedaluwarsa.
Mengubah data XML dalam XPathNavigator menggunakan yang ditentukan |
Berlaku untuk
Keamanan Thread
XslTransform objek hanya aman untuk operasi transformasi. Operasi lain tidak dijamin aman untuk utas. Anda harus memastikan bahwa tidak ada metode lain yang dipanggil pada objek selama operasi pemuatan.