XmlReaderSettings.DtdProcessing 속성

정의

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

속성 값

DTD 처리를 결정하는 열거형 값 중 하나입니다.One of the enumeration values that determines the processing of DTDs. 기본값은 Prohibit입니다.The default is Prohibit.

예제

다음 예제에서는 DTD 파일을 사용하여 XML 파일의 유효성을 검사합니다.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

입력Input

이 예제에서는 itemDTD.xml 파일을 입력으로 사용합니다.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>

설명

문서 유형 정의 (DTD) 유효성 검사는 W3C에서 정의 된 유효성 제약 조건을 사용 하 여 구현 됩니다 Extensible Markup Language (XML) 1.0 (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. Dtd에서는 정식 문법을 사용 하 여 구조체와 호환 XML 문서 구문 설명 콘텐츠 및 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.

이 속성은 다음 값 중 하나입니다.This property can have one of the following values:

DTD에 대한 유효성 검사를 수행하기 위해 XmlReader에서는 XML 문서의 DOCTYPE 선언에 정의된 DTD를 사용합니다.To perform validation against a DTD, the XmlReader uses the DTD defined in the DOCTYPE declaration of an XML document. DOCTYPE 선언은 인라인 DTD를 가리키거나 외부 DTD 파일에 대한 참조가 될 수 있습니다.The DOCTYPE declaration can either point to an inline DTD or can be a reference to an external DTD file. DTD에 대 한 XML 파일 유효성을 검사 하려면:To validate an XML file against a DTD:

중요

경우는 DtdProcessing 속성이 DtdProcessing.IgnoreXmlReader Dtd를 보고 하지 것입니다.If the DtdProcessing property is set to DtdProcessing.Ignore, the XmlReader will not report the DTDs. 즉, DTD/DOCTYPE는 출력에서 손실 됩니다.This means that the DTD/DOCTYPE will be lost on output.

적용 대상