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

Содержит кэш языка определения схемы XML (XSD) и схем XDR. Класс 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) пространства имен. Для XML-схем обычно это свойство targetNamespace схемы.

Хотя этот класс хранит как схемы XML, так и схемы XDR, любой метод и свойство, принимающее или возвращающее XmlSchema значение, применяется только к схемам XML.

Эта версия продукта поддерживает рекомендацию по схеме XML консорциума W3C, расположенную в части 1. Структуры и схема XML, часть 2. Типы данных. Xml-схема должна ссылаться на пространство http://www.w3.org/2001/XMLSchema имен схемы W3C в его элементе схемы. Add См. пример метода.

XmlSchemaCollection может использоваться для эффективной XmlValidatingReader проверки данных.

Важно!

Класс XmlSchemaCollection устарел в Microsoft платформа .NET Framework версии 2.0 и заменен классомXmlSchemaSet.

Конструкторы

XmlSchemaCollection()

Инициализирует новый экземпляр класса XmlSchemaCollection.

XmlSchemaCollection(XmlNameTable)

Инициализирует новый экземпляр класса XmlSchemaCollection указанным значением XmlNameTable. XmlNameTable используется при загрузке схем.

Свойства

Count

Возвращает количество пространств имен, определенных в данной коллекции.

Item[String]

Получает XmlSchema, связанную с указанным URI-пространством имен.

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)

Получает значение, которое показывает, находится ли targetNamespace, заданной XmlSchema в коллекции.

CopyTo(XmlSchema[], Int32)

Копирует все объекты XmlSchema из данной коллекции в предложенный массив, начинающийся с предложенного индекса.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetEnumerator()

Предоставляет поддержку для итерации в стиле "for each" ("для каждого") по коллекции схем.

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)

Преобразовывает коллекцию IEnumerable в объект IQueryable.

Применяется к