XmlReaderSettings.DtdProcessing XmlReaderSettings.DtdProcessing XmlReaderSettings.DtdProcessing XmlReaderSettings.DtdProcessing Property

Definizione

Ottiene o imposta un valore che determina l'elaborazione di DTD.Gets or sets a value that determines the processing of DTDs.

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

Valore della proprietà

Uno dei valori di enumerazione che determina l'elaborazione di DTD.One of the enumeration values that determines the processing of DTDs. Il valore predefinito è Prohibit.The default is Prohibit.

Esempi

Nell'esempio seguente un file XML viene convalidato utilizzando un file DTD.The following example validates an XML file using a DTD file.

#using <System.Xml.dll>

using namespace System;
using namespace System::Xml;
using namespace System::Xml::Schema;
using namespace System::IO;

// Display any validation errors.
static void ValidationCallBack( Object^ /*sender*/, ValidationEventArgs^ e )
{
   Console::WriteLine( L"Validation Error: {0}", e->Message );
}

int main()
{
   // Set the validation settings.
   XmlReaderSettings^ settings = gcnew XmlReaderSettings;
   settings->DtdProcessing = DtdProcessing::Parse;
   settings->ValidationType = ValidationType::DTD;
   settings->ValidationEventHandler += gcnew ValidationEventHandler( ValidationCallBack );

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

   // Parse the file. 
   while ( reader->Read() )
      ;

   return 1;
}
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

InputInput

Nell'esempio viene utilizzato il file itemDTD.xml come input.The example uses the itemDTD.xml file as 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>

Commenti

La convalida DTD (Document Type Definition) viene implementata utilizzando i vincoli di validità definiti nella raccomandazione W3C Extensible Markup Language (XML) 1,0 (Fourth Edition).Document type definition (DTD) validation is implemented by using the validity constraints defined in the W3C Extensible Markup Language (XML) 1.0 (fourth edition) recommendation. Le DTD utilizzano una grammatica formale per descrivere la struttura e la sintassi dei documenti XML conformi; specificano il contenuto e i valori consentiti per il documento XML.DTDs use a formal grammar to describe the structure and syntax of compliant XML documents; they specify the content and values allowed for the XML document.

Questa proprietà può avere uno dei seguenti valori:This property can have one of the following values:

Per eseguire la convalida rispetto a una DTD, il tipo XmlReader utilizza la DTD definita nella dichiarazione DOCTYPE di un documento XML.To perform validation against a DTD, the XmlReader uses the DTD defined in the DOCTYPE declaration of an XML document. La dichiarazione DOCTYPE può fare riferimento a una DTD inline oppure può essere un riferimento a un file DTD esterno.The DOCTYPE declaration can either point to an inline DTD or can be a reference to an external DTD file. Per convalidare un file XML rispetto a una DTD:To validate an XML file against a DTD:

Importante

Se la DtdProcessing proprietà è impostata su DtdProcessing.Ignore, XmlReader non segnalerà le DTD.If the DtdProcessing property is set to DtdProcessing.Ignore, the XmlReader will not report the DTDs. Ciò significa che la DTD/DOCTYPE andrà persa nell'output.This means that the DTD/DOCTYPE will be lost on output.

Si applica a