XmlReaderSettings.DtdProcessing Eigenschap

Definitie

Hiermee wordt een waarde opgehaald of ingesteld waarmee de verwerking van DTD's wordt bepaald.

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

Waarde van eigenschap

Een van de opsommingswaarden die de verwerking van DTD's bepaalt. De standaardwaarde is Prohibit.

Voorbeelden

In het volgende voorbeeld wordt een XML-bestand gevalideerd met behulp van een DTD-bestand.

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

In het voorbeeld wordt het itemDTD.xml bestand als invoer gebruikt.

<!--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>

Opmerkingen

Validatie van documenttypedefinitie (DTD) wordt geïmplementeerd met behulp van de geldigheidsbeperkingen die zijn gedefinieerd in de aanbeveling W3C Extensible Markup Language (XML) 1.0 (vierde editie). DTD's gebruiken een formele grammatica om de structuur en syntaxis van compatibele XML-documenten te beschrijven; ze geven de inhoud en waarden op die zijn toegestaan voor het XML-document.

De DtdProcessing eigenschap kan een van de volgende waarden hebben:

Als u validatie wilt uitvoeren op basis van een DTD, gebruikt de XmlReader DTD die is gedefinieerd in de DOCTYPE-declaratie van een XML-document. De DOCTYPE-declaratie kan verwijzen naar een inline DTD of kan een verwijzing naar een extern DTD-bestand zijn. Een XML-bestand valideren op basis van een DTD:

Important

Als de DtdProcessing eigenschap is ingesteld op DtdProcessing.Ignore, zal XmlReader de DTD's niet rapporteren. Dit betekent dat het DTD/DOCTYPE verloren gaat tijdens de uitvoer.

Van toepassing op