XslTransform Kelas

Definisi

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:

  1. Membuat objek XslTransform.

  2. 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.

  3. 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:script milik urn:schemas-microsoft-com:xslt namespace layanan. Lembar gaya harus menyertakan deklarasi xmlns:msxsl=urn:schemas-microsoft-com:xsltnamespace layanan .

  • Elemen msxsl:script dapat menyertakan language atribut yang menentukan bahasa skrip yang akan digunakan. Nilai language atribut 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. language Jika atribut tidak ditentukan, atribut tersebut default ke JScript.

  • Elemen msxsl:script harus menyertakan implements-prefix atribut 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 oleh language atribut). 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 args dan menghasilkan hasilnya menjadi Stream.

Transform(IXPathNavigable, XsltArgumentList, Stream)
Kedaluwarsa.

Mengubah data XML dalam IXPathNavigable menggunakan yang ditentukan args dan menghasilkan hasilnya menjadi Stream.

Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver)
Kedaluwarsa.

Mengubah data XML dalam IXPathNavigable menggunakan yang ditentukan args dan menghasilkan hasilnya menjadi TextWriter.

Transform(IXPathNavigable, XsltArgumentList, TextWriter)
Kedaluwarsa.

Mengubah data XML dalam IXPathNavigable menggunakan yang ditentukan args dan menghasilkan hasilnya menjadi TextWriter.

Transform(IXPathNavigable, XsltArgumentList, XmlResolver)
Kedaluwarsa.

Mengubah data XML dalam IXPathNavigable menggunakan yang ditentukan args dan menghasilkan hasilnya menjadi XmlReader.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)
Kedaluwarsa.

Mengubah data XML dalam IXPathNavigable menggunakan yang ditentukan args dan menghasilkan hasilnya menjadi XmlWriter.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)
Kedaluwarsa.

Mengubah data XML dalam IXPathNavigable menggunakan yang ditentukan args dan menghasilkan hasilnya menjadi XmlWriter.

Transform(IXPathNavigable, XsltArgumentList)
Kedaluwarsa.

Mengubah data XML dalam IXPathNavigable menggunakan yang ditentukan args dan menghasilkan hasilnya menjadi XmlReader.

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 args dan menghasilkan hasilnya menjadi Stream.

Transform(XPathNavigator, XsltArgumentList, Stream)
Kedaluwarsa.

Mengubah data XML dalam XPathNavigator menggunakan yang ditentukan args dan menghasilkan hasilnya menjadi Stream.

Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver)
Kedaluwarsa.

Mengubah data XML dalam XPathNavigator menggunakan yang ditentukan args dan menghasilkan hasilnya menjadi TextWriter.

Transform(XPathNavigator, XsltArgumentList, TextWriter)
Kedaluwarsa.

Mengubah data XML dalam XPathNavigator menggunakan yang ditentukan args dan menghasilkan hasilnya menjadi TextWriter.

Transform(XPathNavigator, XsltArgumentList, XmlResolver)
Kedaluwarsa.

Mengubah data XML dalam XPathNavigator menggunakan yang ditentukan args dan menghasilkan hasilnya menjadi XmlReader.

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 args dan menghasilkan hasilnya menjadi XmlReader.

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.