XmlSchemaCollection クラス
アセンブリ: System.Xml (system.xml.dll 内)

<ObsoleteAttribute("Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation. http://go.microsoft.com/fwlink/?linkid=14202")> _ Public NotInheritable Class XmlSchemaCollection Implements ICollection, IEnumerable
[ObsoleteAttribute("Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation. http://go.microsoft.com/fwlink/?linkid=14202")] public sealed class XmlSchemaCollection : ICollection, IEnumerable
[ObsoleteAttribute(L"Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation. http://go.microsoft.com/fwlink/?linkid=14202")] public ref class XmlSchemaCollection sealed : ICollection, IEnumerable

スキーマは、Add メソッドを使用して読み込まれ、そのときに名前空間 URI (Uniform Resource Identifier) に関連付けられます。XML スキーマの場合、通常これはスキーマの targetNamespace プロパティです。
このクラスは、XML スキーマと XDR スキーマの両方を格納しますが、XmlSchema を受け取ったり、返す任意のメソッドおよびプロパティは、XML スキーマだけに適用されます。
この製品のバージョンは、http://www.w3.org/TR/xmlschema-1 および http://www.w3.org/TR/xmlschema-2 にある W3C 勧告『XML Schema』をサポートします。XML スキーマは、スキーマ要素内で W3C スキーマ名前空間 http://www.w3.org/2001/XMLSchema を参照する必要があります。例については、Add メソッドのトピックを参照してください。
XmlSchemaCollection は、効率的にデータ検証を行うために XmlValidatingReader で使用できます。
![]() |
---|
XmlSchemaCollection クラスは Microsoft .NET Framework Version 2.0 では使用されなくなり、XmlSchemaSet クラスに置き換えられました。 |

XmlSchemaCollection を使用して、XML ドキュメントを検証する例を次に示します。
Imports System 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
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); } }
#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(); }
import System.*; import System.Xml.*; import System.Xml.Schema.*; import System.IO.*; public class ValidXSD { public static void main(String[] args) { XmlSchemaCollection sc = new XmlSchemaCollection(); sc.add_ValidationEventHandler(new ValidationEventHandler( ValidationCallBack)); sc.Add(null, "books.xsd"); if (sc.get_Count() > 0) { XmlTextReader tr = new XmlTextReader("notValidXSD.xml"); XmlValidatingReader rdr = new XmlValidatingReader(tr); rdr.set_ValidationType(ValidationType.Schema); rdr.get_Schemas().Add(sc); rdr.add_ValidationEventHandler(new ValidationEventHandler( ValidationCallBack)); while (rdr.Read()) { } } } //main private static void ValidationCallBack(Object sender, ValidationEventArgs e) { Console.WriteLine("Validation Error: {0}", e.get_Message()); } //ValidationCallBack } //ValidXSD

System.Xml.Schema.XmlSchemaCollection


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- XmlSchemaCollection クラスのページへのリンク