다음을 통해 공유


XmlSchemaCollection 클래스

정의

주의

Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation. https://go.microsoft.com/fwlink/?linkid=14202

주의

XmlSchemaCollection has been deprecated. Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation.

주의

XmlSchemaCollection has been deprecated. Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation instead.

주의

Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation. http://go.microsoft.com/fwlink/?linkid=14202

XSD(XML 스키마 정의 언어)와 XDR(XML-Data Reduced) 스키마의 캐시를 포함합니다. XmlSchemaCollection 클래스는 사용되지 않습니다. 대신 XmlSchemaSet를 사용하세요.

public ref class XmlSchemaCollection sealed : System::Collections::ICollection
[System.Obsolete("Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation. https://go.microsoft.com/fwlink/?linkid=14202")]
public sealed class XmlSchemaCollection : System.Collections.ICollection
[System.Obsolete("XmlSchemaCollection has been deprecated. Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation.")]
public sealed class XmlSchemaCollection : System.Collections.ICollection
[System.Obsolete("XmlSchemaCollection has been deprecated. Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation instead.")]
public sealed class XmlSchemaCollection : System.Collections.ICollection
[System.Obsolete("Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation. http://go.microsoft.com/fwlink/?linkid=14202")]
public sealed class XmlSchemaCollection : System.Collections.ICollection
public sealed class XmlSchemaCollection : System.Collections.ICollection
[<System.Obsolete("Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation. https://go.microsoft.com/fwlink/?linkid=14202")>]
type XmlSchemaCollection = class
    interface ICollection
    interface IEnumerable
[<System.Obsolete("XmlSchemaCollection has been deprecated. Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation.")>]
type XmlSchemaCollection = class
    interface ICollection
    interface IEnumerable
[<System.Obsolete("XmlSchemaCollection has been deprecated. Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation instead.")>]
type XmlSchemaCollection = class
    interface ICollection
    interface IEnumerable
[<System.Obsolete("Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation. http://go.microsoft.com/fwlink/?linkid=14202")>]
type XmlSchemaCollection = class
    interface ICollection
    interface IEnumerable
type XmlSchemaCollection = class
    interface ICollection
    interface IEnumerable
Public NotInheritable Class XmlSchemaCollection
Implements ICollection
상속
XmlSchemaCollection
특성
구현

예제

다음 예제에서는 .을 사용하여 XML 문서의 유효성을 검사합니다 XmlSchemaCollection.

#using <System.Xml.dll>
#using <System.dll>

using namespace System;
using namespace System::Xml;
using namespace System::Xml::Schema;
using namespace System::IO;
public ref class ValidXSD
{
public:
   static void main()
   {
      XmlSchemaCollection^ sc = gcnew XmlSchemaCollection;
      sc->ValidationEventHandler += gcnew ValidationEventHandler( ValidationCallBack );
      sc->Add( nullptr, "books.xsd" );
      if ( sc->Count > 0 )
      {
         XmlTextReader^ tr = gcnew XmlTextReader( "notValidXSD.xml" );
         XmlValidatingReader^ rdr = gcnew XmlValidatingReader( tr );
         rdr->ValidationType = ValidationType::Schema;
         rdr->Schemas->Add( sc );
         rdr->ValidationEventHandler += gcnew ValidationEventHandler( ValidationCallBack );
         while ( rdr->Read() )
                  ;
      }
   }


private:
   static void ValidationCallBack( Object^ /*sender*/, ValidationEventArgs^ e )
   {
      Console::WriteLine( "Validation Error: {0}", e->Message );
   }

};

int main()
{
   ValidXSD::main();
}
using System;
using System.Xml;
using System.Xml.Schema;
using System.IO;

public class ValidXSD {

  public static void Main() {
    XmlSchemaCollection sc = new XmlSchemaCollection();
    sc.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);
    sc.Add(null, "books.xsd");

    if(sc.Count > 0)
    {
      XmlTextReader tr = new XmlTextReader("notValidXSD.xml");
      XmlValidatingReader rdr = new XmlValidatingReader(tr);

      rdr.ValidationType = ValidationType.Schema;
      rdr.Schemas.Add(sc);
      rdr.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);
      while (rdr.Read());
    }
  }

  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 ValidXSD 

  public shared sub Main() 
    Dim sc as XmlSchemaCollection = new XmlSchemaCollection()
    AddHandler sc.ValidationEventHandler, AddressOf ValidationCallBack
    sc.Add(nothing, "books.xsd")

    if(sc.Count > 0)
      Dim tr as XmlTextReader = new XmlTextReader("notValidXSD.xml")
      Dim rdr as XmlValidatingReader = new XmlValidatingReader(tr)

      rdr.ValidationType = ValidationType.Schema
      rdr.Schemas.Add(sc)
      AddHandler rdr.ValidationEventHandler, AddressOf ValidationCallBack
      while (rdr.Read())
      end while
    end if

  end sub

  private shared sub ValidationCallBack(sender as object, e as ValidationEventArgs) 
    Console.WriteLine("XSD Error: {0}", e.Message)
  end sub

end class

설명

스키마는 메서드를 Add 사용하여 로드되며, 이때 스키마는 네임스페이스 URI(Uniform Resource Identifier)와 연결됩니다. XML 스키마의 경우 일반적으로 스키마의 targetNamespace 속성입니다.

이 클래스는 XML 스키마와 XDR 스키마를 모두 저장하지만 XML 스키마를 사용하거나 반환 XmlSchema 하는 모든 메서드와 속성은 XML 스키마에만 적용됩니다.

이 버전의 제품은 XML 스키마 1부: 구조 및 XML 스키마 파트 2: 데이터 형식에 있는 W3C(World Wide Web Consortium) XML 스키마 권장 사항을 지원합니다. XML 스키마는 해당 스키마 요소에서 W3C 스키마 네임스페이스를 http://www.w3.org/2001/XMLSchema 참조해야 합니다. 예제는 Add 메서드를 참조하세요.

XmlSchemaCollection 은 효율적인 데이터 유효성 검사에 XmlValidatingReader 사용할 수 있습니다.

중요

XmlSchemaCollection 이 클래스는 Microsoft .NET Framework 버전 2.0에서 사용되지 않으며 클래스로 XmlSchemaSet 대체되었습니다.

생성자

XmlSchemaCollection()

XmlSchemaCollection 클래스의 새 인스턴스를 초기화합니다.

XmlSchemaCollection(XmlNameTable)

지정된 XmlSchemaCollection를 사용하여 XmlNameTable 클래스의 새 인스턴스를 초기화합니다. XmlNameTable은 스키마를 로드할 때 사용합니다.

속성

Count

이 컬렉션에 정의된 네임스페이스의 수를 가져옵니다.

Item[String]

지정한 네임스페이스 URI에 연결된 XmlSchema를 가져옵니다.

NameTable

새 스키마를 로드할 때 XmlNameTable에서 사용하는 기본 XmlSchemaCollection을 가져옵니다.

메서드

Add(String, String)

지정한 URL에 의해 경로가 지정된 스키마를 스키마 컬렉션에 추가합니다.

Add(String, XmlReader)

XmlReader에 포함된 스키마를 스키마 컬렉션에 추가합니다.

Add(String, XmlReader, XmlResolver)

XmlReader에 포함된 스키마를 스키마 컬렉션에 추가합니다. 지정된 XmlResolver는 외부 리소스를 확인하는 데 사용됩니다.

Add(XmlSchema)

XmlSchema를 컬렉션에 추가합니다.

Add(XmlSchema, XmlResolver)

XmlSchema를 컬렉션에 추가합니다. 지정된 XmlResolver는 외부 참조를 확인하는 데 사용됩니다.

Add(XmlSchemaCollection)

지정한 컬렉션에 정의된 네임스페이스(연결된 스키마 포함)를 모두 이 컬렉션에 추가합니다.

Contains(String)

지정된 네임스페이스를 가진 스키마가 컬렉션에 있는지를 나타내는 값을 가져옵니다.

Contains(XmlSchema)

지정된 XmlSchematargetNamespace가 컬렉션에 있는지 여부를 나타내는 값을 가져옵니다.

CopyTo(XmlSchema[], Int32)

지정된 인덱스에서 시작하여 지정된 배열에 이 컬렉션의 XmlSchema 개체를 모두 복사합니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetEnumerator()

스키마 컬렉션에 대해 개별 스타일 반복을 지원합니다.

GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

이벤트

ValidationEventHandler

XDR 및 XML 스키마 유효성 검사 오류에 대한 정보를 받는 이벤트 처리기를 설정합니다.

명시적 인터페이스 구현

ICollection.CopyTo(Array, Int32)

이 멤버에 대한 설명은 CopyTo(XmlSchema[], Int32)를 참조하세요.

ICollection.Count

이 멤버에 대한 설명은 Count를 참조하세요.

ICollection.IsSynchronized

이 멤버에 대한 설명은 ICollection.IsSynchronized를 참조하세요.

ICollection.SyncRoot

이 멤버에 대한 설명은 ICollection.SyncRoot를 참조하세요.

IEnumerable.GetEnumerator()

이 멤버에 대한 설명은 GetEnumerator()를 참조하세요.

확장 메서드

Cast<TResult>(IEnumerable)

IEnumerable의 요소를 지정된 형식으로 캐스팅합니다.

OfType<TResult>(IEnumerable)

지정된 형식에 따라 IEnumerable의 요소를 필터링합니다.

AsParallel(IEnumerable)

쿼리를 병렬화할 수 있도록 합니다.

AsQueryable(IEnumerable)

IEnumerableIQueryable로 변환합니다.

적용 대상