다음을 통해 공유


XmlValidatingReader의 유효성 검사 형식

업데이트: November 2007

ValidationType 속성은 XmlValidatingReader에서 수행한 유효성 검사의 형식을 결정합니다. Read 메서드를 호출하기 전에 이 속성을 설정해야 합니다. 유효성 검사에 외부 DTD(문서 종류 정의)나 스키마가 필요한 경우 XmlResolver 속성을 사용합니다.

참고:

XmlValidatingReader 클래스는 .NET Framework 버전 2.0에서 사용되지 않습니다. XmlReaderSettings 클래스와 Create 메서드를 사용하여 유효성 검사 XmlReader 인스턴스를 만들 수 있습니다. 자세한 내용은 XmlReader를 사용하여 XML 데이터의 유효성 검사를 참조하십시오.

ValidationType 열거형

ValidationType 속성은 ValidationType 열거형 값 중 하나로 설정할 수 있습니다. 다음 단원에서는 ValidationType 값에 대해 설명합니다.

ValidationType.Auto

ValidationType 속성에 대한 기본값입니다. 다음 표에서는 ValidationType 속성을 Auto로 설정한 경우의 유효성 검사 규칙을 보여 줍니다.

DTD 또는 스키마

ValidationType.Auto

DTD 또는 스키마 없음

유효성을 검사하지 않고 XML 구문을 분석합니다. 예외가 throw되지 않습니다. 형식 정보가 제공되지 않습니다.

DTD

DTD 유효성 검사를 수행합니다. 기본 특성 및 엔터티가 확장됩니다. 일반 엔터티를 사용할 경우에만 로드하고 구문 분석합니다. 형식 정보가 제공되지 않습니다.

XML 스키마(참조 또는 인라인)

XSD(XML 스키마 정의 언어) 유효성 검사를 수행합니다. 스키마를 사용하여 유효성을 검사합니다. 기본 특성이 확장됩니다. 형식 정보가 제공됩니다.

XDR 스키마(참조 또는 인라인)

XDR(XML-Data Reduced) 스키마 유효성 검사를 수행합니다. 스키마를 사용하여 유효성을 검사합니다. 기본 특성이 확장됩니다. 형식 정보가 제공됩니다.

DTD 및 XML 스키마 또는 XDR 스키마(참조 또는 인라인)

유효성 검사 형식의 첫 번째 항목에 따라 DTD/XML 스키마/XDR 유효성 검사를 수행합니다. DTD 유효성 검사는 항상 다른 유효성 검사 형식보다 우선권을 갖습니다.

ValidationType.DTD

ValidationType.DTD 값이 지정되면 XmlValidatingReader가 DTD에 따라 문서의 유효성을 검사합니다. 다음 표에서는 ValidationType 속성을 ValidationType.DTD로 설정한 경우의 유효성 검사 규칙을 보여 줍니다.

DTD 또는 스키마

ValidationType.DTD

DTD 또는 스키마 없음

루트 요소에서 No DTD found 경고를 반환합니다. 예외가 throw되지 않습니다. 형식 정보가 제공되지 않습니다.

DTD

DTD 유효성 검사를 수행합니다. 기본 특성 및 엔터티가 확장됩니다. 일반 엔터티를 사용할 경우에만 로드하고 구문 분석합니다. 형식 정보가 제공되지 않습니다.

XML 스키마(참조 또는 인라인)

루트 요소에서 No DTD found 경고를 반환합니다. 스키마가 있을 경우 혼합된 유효성 검사 형식에 대해 XmlException이 throw됩니다.

XDR 스키마(참조 또는 인라인)

루트 요소에서 No DTD found 경고를 반환합니다. 스키마가 있을 경우 혼합된 유효성 검사 형식에 대해 XmlException이 throw됩니다.

DTD 및 XML 스키마 또는 XDR 스키마(참조 또는 인라인)

DTD 유효성 검사를 수행합니다. 기본 특성 및 엔터티가 확장됩니다.

ValidationType.Schema

ValidationType.Schema 값이 설정된 경우 XmlValidatingReader에서는 인라인 스키마를 포함하여 XML 스키마에 따라 문서의 유효성을 검사합니다. 다음 표에서는 ValidationType 속성을 ValidationType.Schema로 설정한 경우의 유효성 검사 규칙을 보여 줍니다.

DTD 또는 스키마

ValidationType.Schema

DTD 또는 스키마 없음

모든 요소에 대한 No schema found 경고를 반환합니다.

DTD

혼합된 유효성 검사 형식에 대해 XmlException이 throw됩니다.

XML 스키마(참조 또는 인라인)

XML 스키마 유효성 검사를 수행합니다. 스키마를 사용하여 유효성을 검사합니다. 스키마에서 기본 특성이 확장됩니다. 형식 정보가 제공됩니다.

XDR 스키마(참조 또는 인라인)

혼합된 유효성 검사 형식에 대해 XmlException이 throw됩니다.

DTD 및 XML 스키마 또는 XDR 스키마(참조 또는 인라인)

XML 스키마 유효성 검사를 수행합니다. 스키마에서 기본 특성이 확장됩니다. 형식 정보가 제공됩니다. DTD 또는 XDR 스키마가 있을 경우 혼합된 유효성 검사 형식에 대해 XmlException이 throw됩니다.

ValidationType.XDR

ValidationType.XDR 값이 설정된 경우 XmlValidatingReader에서는 인라인 스키마를 포함하여 XDR 스키마에 따라 문서의 유효성을 검사합니다. 다음 표에서는 ValidationType 속성을 ValidationType.XDR로 설정한 경우의 유효성 검사 규칙을 보여 줍니다.

DTD 또는 스키마

ValidationType.XDR

DTD 또는 스키마 없음

유효성 검사가 수행되지 않았음을 나타내는 최종 경고를 반환합니다.

DTD

혼합된 유효성 검사 형식에 대해 XmlException이 throw됩니다.

XML 스키마(참조 또는 인라인)

혼합된 유효성 검사 형식에 대해 XmlException이 throw됩니다.

XDR 스키마(참조 또는 인라인)

XDR 유효성 검사를 수행합니다. 스키마를 사용하여 유효성을 검사합니다. 스키마에서 기본 특성이 확장됩니다. 형식 정보가 제공됩니다.

DTD 및 XML 스키마 또는 XDR 스키마(참조 또는 인라인)

XDR 유효성 검사를 수행합니다. 스키마에서 기본 특성이 확장됩니다. 형식 정보가 제공됩니다. DTD 또는 XML 스키마가 있을 경우 혼합된 유효성 검사 형식에 대해 XmlException이 throw됩니다.

ValidationType.None

ValidationType.None 값에서는 W3C(World Wide Web 컨소시엄) XML(Extensible Markup Language) 1.0 권장 사항을 준수하는 유효성 검사를 하지 않는 파서를 만듭니다. 기본 특성이 보고되고 일반 엔터티를 확인할 수 있습니다. 유효성 검사 오류가 throw되지 않습니다. 다음 표에서는 ValidationType 속성을 ValidationType.None로 설정한 경우의 유효성 검사 규칙을 보여 줍니다.

DTD 또는 스키마

ValidationType.None

DTD 또는 스키마 없음

유효성을 검사하지 않고 XML 구문을 분석합니다. 예외가 throw되지 않습니다. 형식 정보가 제공되지 않습니다.

DTD

XML 1.0 규격의 유효성 검사를 수행하지 않는 파서가 생성됩니다. DTD 유효성 검사를 수행하지 않습니다. DTD에서 기본 특성 및 엔터티가 확장됩니다. 형식 정보가 제공되지 않습니다.

XML 스키마(참조 또는 인라인)

유효성을 검사하지 않고 XML 구문을 분석합니다. 예외가 throw되지 않습니다. 스키마에서 기본 특성이 확장되지 않습니다. 형식 정보가 제공되지 않습니다.

XDR 스키마(참조 또는 인라인)

유효성을 검사하지 않고 XML 구문을 분석합니다. 예외가 throw되지 않습니다. 스키마에서 기본 특성이 확장되지 않습니다. 형식 정보가 제공되지 않습니다.

DTD 및 XML 스키마 또는 XDR 스키마(참조 또는 인라인)

XML 1.0 규격의 유효성 검사를 수행하지 않는 파서가 생성됩니다. DTD 유효성 검사를 수행하지 않습니다. DTD에서 기본 특성 및 엔터티가 확장됩니다. 형식 정보가 제공되지 않습니다.

ValidationType 속성이 첫 번째 Read 메서드 다음에 설정되어 있는 경우 XmlValidatingReader에서 InvalidOperationException이 throw됩니다.

참고 항목

개념

XmlReader로 XML 읽기

기타 리소스

XmlReader 클래스 사용