Bagikan melalui


XmlWriterSettings.ConformanceLevel Properti

Definisi

Mendapatkan atau mengatur tingkat kesuaian yang diperiksa oleh penulis XML output XML.

public:
 property System::Xml::ConformanceLevel ConformanceLevel { System::Xml::ConformanceLevel get(); void set(System::Xml::ConformanceLevel value); };
public System.Xml.ConformanceLevel ConformanceLevel { get; set; }
member this.ConformanceLevel : System.Xml.ConformanceLevel with get, set
Public Property ConformanceLevel As ConformanceLevel

Nilai Properti

Salah satu nilai enumerasi yang menentukan tingkat kesamaan (dokumen, fragmen, atau deteksi otomatis). Defaultnya adalah Document.

Contoh

Contoh berikut menulis fragmen XML ke aliran memori.

XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
settings.ConformanceLevel = ConformanceLevel.Fragment;
settings.CloseOutput = false;

// Create the XmlWriter object and write some content.
MemoryStream strm = new MemoryStream();
XmlWriter writer = XmlWriter.Create(strm, settings);
writer.WriteElementString("orderID", "1-456-ab");
writer.WriteElementString("orderID", "2-36-00a");
writer.Flush();
writer.Close();

// Do additional processing on the stream.
Dim settings As XmlWriterSettings = New XmlWriterSettings()
settings.OmitXmlDeclaration = true
settings.ConformanceLevel = ConformanceLevel.Fragment
settings.CloseOutput = false

' Create the XmlWriter object and write some content.
Dim strm as MemoryStream = new MemoryStream()
Dim writer As XmlWriter = XmlWriter.Create(strm, settings)
writer.WriteElementString("orderID", "1-456-ab")
writer.WriteElementString("orderID", "2-36-00a")
writer.Flush()
writer.Close()

' Do additional processing on the stream.

Keterangan

Properti XmlWriterSettings.ConformanceLevel mengonfigurasi penulis XML untuk memeriksa dan menjamin bahwa aliran yang ditulis mematuhi serangkaian aturan tertentu. Data XML dapat diperiksa untuk melihat bahwa data tersebut sesuai dengan aturan untuk dokumen XML 1.0 yang terbentuk dengan baik atau fragmen dokumen. Tabel berikut ini menjelaskan tiga pengaturan. Defaultnya adalah kesuaian tingkat dokumen.

Pengaturan Deskripsi
Document Memastikan bahwa output XML sesuai dengan aturan untuk dokumen XML 1.0 yang terbentuk dengan baik dan dapat diproses oleh prosesor yang sesuai.

Pemeriksaan kesesuaian dokumen mencakup sebagian besar pemeriksaan tingkat fragmen dan juga memastikan hal berikut:

- Item tingkat atas tidak memiliki simpul selain Deklarasi XML, DTD, elemen, komentar, spasi kosong, atau instruksi pemrosesan.
- Data XML memiliki satu dan hanya satu simpul elemen tingkat atas.

Penulis XML tidak mengurai informasi DTD yang ditulis. Pengguna bertanggung jawab untuk memastikan bahwa DTD terbentuk dengan baik.
Fragment Memastikan bahwa output XML sesuai dengan aturan untuk fragmen dokumen XML 1.0 yang terbentuk dengan baik.

Pengaturan ini menerima data XML yang memiliki beberapa elemen akar atau simpul teks di tingkat atas. Tingkat pemeriksaan ini memastikan bahwa setiap prosesor dapat menggunakan aliran yang dibaca sebagai entitas penguraian eksternal XML 1.0.

Informasi DTD tidak diizinkan dalam fragmen dokumen.
Auto Menentukan bahwa penulis XML harus menentukan tingkat pemeriksaan kesuaian berdasarkan data masuk. Pengaturan ini dapat berguna ketika Anda tidak tahu apakah XML yang dihasilkan akan menjadi dokumen XML yang terbentuk dengan baik atau fragmen.

Pemeriksaan kesesuaian dokumen diterapkan dalam kasus berikut:

- Jika WriteStartDocument metode dipanggil.
- Jika informasi DTD ditulis.

Pemeriksaan kesuaian fragmen diterapkan jika data XML berisi salah satu dari berikut ini:

- Simpul Teks, CDATA, atau EntityReference di tingkat akar.
- Lebih dari satu elemen di tingkat akar.
- Tidak ada elemen di tingkat akar.

dilemparkan XmlException jika ada konflik, seperti ketika Anda mencoba menulis simpul teks dan DTD di tingkat akar.

Jika Anda membungkus objek lain XmlWriter , objek luar tidak melakukan pemeriksaan kesesuaian tambahan; ini diserahkan ke objek yang mendasar.

Jika penulis XML mendeteksi informasi apa pun yang akan melanggar tingkat kesamaan yang ditentukan, ia akan melemparkan pengecualian. Dalam beberapa kasus, penulis XML secara otomatis memperbaiki kesalahan kesuaian. Misalnya, penulis menutup atribut yang tidak tertutup tanpa melemparkan pengecualian. Tabel berikut ini memperlihatkan bagaimana berbagai pelanggaran kesesuaian ditangani di setiap pengaturan.

Kondisi Document Fragment Auto
Informasi DTD ditemukan. Bukan pelanggaran untuk pengaturan ini. Namun, penulis XML tidak memeriksa DTD; pengguna harus memastikan bahwa DTD terbentuk dengan baik. XmlException dilemparkan. Pemeriksaan kesuaian dokumen diterapkan.
WriteStartDocument dipanggil. Tidak dianggap sebagai pelanggaran untuk pengaturan ini. XmlException dilemparkan. Pemeriksaan kesuaian dokumen diterapkan.
WriteStartDocument dipanggil beberapa kali. XmlException dilemparkan. XmlException dilemparkan. XmlException dilemparkan.
Nilai teks muncul di tingkat atas (tidak di bawah elemen atau node atribut). XmlException dilemparkan. Tidak dianggap sebagai pelanggaran. Pemeriksaan kesuaian fragmen diterapkan.
Beberapa elemen atau tidak ada elemen yang muncul di tingkat atas. XmlException dilemparkan. Tidak dianggap sebagai pelanggaran. Pemeriksaan kesuaian fragmen diterapkan.
Item tingkat atas adalah spasi kosong. Tidak dianggap sebagai pelanggaran. Tidak dianggap sebagai pelanggaran. Tidak dianggap sebagai pelanggaran.
WriteEndAttribute tidak dipanggil untuk mengakhiri simpul atribut. Diperbaiki oleh penulis XML. Diperbaiki oleh penulis XML. Diperbaiki oleh penulis XML.
Penulis XML berada dalam status berlapis yang tidak benar (misalnya, WriteStartElement panggilan diikuti oleh WriteEndAttribute). XmlException dilemparkan. XmlException dilemparkan. XmlException dilemparkan.
Item tingkat atas adalah atribut . XmlException dilemparkan. XmlException dilemparkan. XmlException dilemparkan.
Beberapa simpul teks yang berdebat ditemukan. Tidak dianggap sebagai pelanggaran, tetapi pengguna bertanggung jawab untuk menggabungkan simpul teks. Tidak dianggap sebagai pelanggaran, tetapi pengguna bertanggung jawab untuk menggabungkan simpul teks. Tidak dianggap sebagai pelanggaran, tetapi pengguna bertanggung jawab untuk menggabungkan simpul teks.
Awalan namespace yang sama dinyatakan dua kali dalam elemen . Penulis XML menghasilkan awalan baru untuk namespace kedua. Penulis XML menghasilkan awalan baru untuk namespace kedua. Penulis XML menghasilkan awalan baru untuk namespace kedua.
WriteStartElement menentukan awalan dan namespace yang tidak dideklarasikan dalam cakupan tersebut, atau awalan dikaitkan dengan namespace yang berbeda. Penulis XML menulis simpul namespace yang diperlukan. Penulis XML menulis simpul namespace yang diperlukan. Penulis XML menulis simpul namespace yang diperlukan.
WriteStartAttribute menentukan awalan dan namespace yang tidak dideklarasikan dalam cakupan tersebut. Penulis XML menulis simpul namespace yang diperlukan. Penulis XML menulis simpul namespace yang diperlukan. Penulis XML menulis simpul namespace yang diperlukan.
WriteStartAttribute menentukan awalan dan namespace, tetapi awalan dikaitkan dengan namespace dalam cakupan yang berbeda. Penulis XML mengabaikan awalan yang ditentukan dan mencari awalan yang benar atau menghasilkan awalan baru. Penulis XML mengabaikan awalan yang ditentukan dan mencari awalan yang benar atau menghasilkan awalan baru. Penulis XML mengabaikan awalan yang ditentukan dan mencari awalan yang benar atau menghasilkan awalan baru.
WriteQualifiedName digunakan untuk menulis konten elemen dengan menggunakan namespace layanan yang tidak ada dalam cakupan. XmlException dilemparkan. XmlException dilemparkan. XmlException dilemparkan.
WriteQualifiedName digunakan untuk menulis konten atribut dengan menggunakan namespace yang tidak ada dalam cakupan. Penulis XML menulis deklarasi namespace yang diperlukan. Penulis XML menulis deklarasi namespace yang diperlukan. Penulis XML menulis deklarasi namespace yang diperlukan.
Atribut xml:space tidak berisi nilai yang valid. XmlException dilemparkan. XmlException dilemparkan. XmlException dilemparkan.
Nama yang tidak valid ditemui. XmlException dilemparkan. XmlException dilemparkan. XmlException dilemparkan.
xml Awalan tidak cocok dengan URI. Penulis XML tidak memeriksa jenis pelanggaran ini. Penulis XML tidak memeriksa jenis pelanggaran ini. Penulis XML tidak memeriksa jenis pelanggaran ini.
xml Awalan tidak cocok dengan http://www.w3.org/XML/1998/namespace URI. XmlException dilemparkan. XmlException dilemparkan. XmlException dilemparkan.
xmlns Awalan atau nama lokal tidak cocok dengan URI. Penulis XML tidak memeriksa jenis pelanggaran ini. Penulis XML tidak memeriksa jenis pelanggaran ini. Penulis XML tidak memeriksa jenis pelanggaran ini.
Awalan xmlns atau nama lokal tidak cocok dengan http://www.w3.org/2000/xmlns URI. XmlException dilemparkan. XmlException dilemparkan. XmlException dilemparkan.

Berlaku untuk