XmlReaderSettings.DtdProcessing Properti

Definisi

Mendapatkan atau menetapkan nilai yang menentukan pemrosesan DTD.

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

Nilai Properti

Salah satu nilai enumerasi yang menentukan pemrosesan DTD. Defaultnya adalah Prohibit.

Contoh

Contoh berikut memvalidasi file XML menggunakan file DTD.

using System;
using System.Xml;
using System.Xml.Schema;
using System.IO;

public class Sample {

  public static void Main() {

    // Set the validation settings.
    XmlReaderSettings settings = new XmlReaderSettings();
    settings.DtdProcessing = DtdProcessing.Parse;
    settings.ValidationType = ValidationType.DTD;
    settings.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);

    // Create the XmlReader object.
    XmlReader reader = XmlReader.Create("itemDTD.xml", settings);

    // Parse the file.
    while (reader.Read());
  }

  // Display any validation errors.
  private static void ValidationCallBack(object sender, ValidationEventArgs e) {
    Console.WriteLine("Validation Error: {0}", e.Message);
  }
}
Imports System.Xml
Imports System.Xml.Schema
Imports System.IO

public class Sample 

  public shared sub Main() 

    ' Set the validation settings.
    Dim settings as XmlReaderSettings = new XmlReaderSettings()
    settings.DtdProcessing = DtdProcessing.Parse
    settings.ValidationType = ValidationType.DTD
    AddHandler settings.ValidationEventHandler, AddressOf ValidationCallBack
 
    ' Create the XmlReader object.
    Dim reader as XmlReader = XmlReader.Create("itemDTD.xml", settings)

    ' Parse the file. 
    while reader.Read()
    end while
    
  end sub

  ' Display any validation errors.
  private shared sub ValidationCallBack(sender as object, e as ValidationEventArgs) 
    Console.WriteLine("Validation Error: {0}", e.Message)
  end sub
end class

Contohnya menggunakan itemDTD.xml file sebagai input.

<!--XML file using a DTD-->
<!DOCTYPE store [
  <!ELEMENT store (item)*> 
  <!ELEMENT item (name,dept,price)>
  <!ATTLIST item type CDATA #REQUIRED>
  <!ELEMENT name (#PCDATA)>
  <!ELEMENT price (#PCDATA)>]>
<store>
  <item type="supplies"  ISBN="2-3631-4">
    <name>paint</name>
    <price>16.95</price>
  </item>
</store>

Keterangan

Validasi definisi jenis dokumen (DTD) diimplementasikan dengan menggunakan batasan validitas yang ditentukan dalam rekomendasi W3C Extensible Markup Language (XML) 1.0 (edisi keempat). DTD menggunakan tata bahasa formal untuk menggambarkan struktur dan sintaks dokumen XML yang sesuai; mereka menentukan konten dan nilai yang diizinkan untuk dokumen XML.

Properti DtdProcessing dapat memiliki salah satu nilai berikut:

Untuk melakukan validasi terhadap DTD, XmlReader menggunakan DTD yang ditentukan dalam deklarasi DOCTYPE dari dokumen XML. Deklarasi DOCTYPE dapat menunjuk ke DTD sebaris atau dapat menjadi referensi ke file DTD eksternal. Untuk memvalidasi file XML terhadap DTD:

Important

Jika properti DtdProcessing disetel ke DtdProcessing.Ignore, maka XmlReader tidak akan melaporkan DTD. Ini berarti bahwa DTD/DOCTYPE akan hilang pada output.

Berlaku untuk