XmlSchemaCollection Класс

Определение

Внимание!

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

Внимание!

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

Содержит кэш языка определения схемы XML (XSD) и схем XDR.Contains a cache of XML Schema definition language (XSD) and XML-Data Reduced (XDR) schemas. Класс XmlSchemaCollection устарел.The XmlSchemaCollection class is obsolete. Взамен рекомендуется использовать XmlSchemaSet.Use XmlSchemaSet instead.

public ref class XmlSchemaCollection sealed : System::Collections::ICollection
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
[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
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
[<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
Public NotInheritable Class XmlSchemaCollection
Implements ICollection
Наследование
XmlSchemaCollection
Атрибуты
Реализации

Примеры

В следующем примере выполняется проверка XML-документа с помощью XmlSchemaCollection .The following example validates an XML document using the 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) пространства имен.Schemas are loaded using the Add method, at which time the schema is associated with a namespace Uniform Resource Identifier (URI). Для XML-схем это обычно targetNamespace свойство схемы.For XML Schemas, this will typically be the targetNamespace property of the schema.

Несмотря на то, что этот класс хранит как XML-схемы, так и схемы XDR, любой метод и свойство, принимающее или возвращающее, XmlSchema применимо только к XML-схемам.Although this class stores both XML Schemas and XDR schemas, any method and property that takes or returns an XmlSchema applies to XML Schemas only.

Эта версия продукта поддерживает рекомендацию по XML-схеме консорциум W3C (W3C), расположенную в схеме XML, часть 1: структуры и схема XML, часть 2: типыданных.This version of the product supports the World Wide Web Consortium (W3C) XML Schema recommendation located at XML Schema Part 1: Structures and XML Schema Part 2: Datatypes. Схема XML должна ссылаться на пространство имен схемы W3C http://www.w3.org/2001/XMLSchema в своем элементе Schema.An XML Schema must reference the W3C Schema namespace http://www.w3.org/2001/XMLSchema in its schema element. Пример см. в описании Add метода.See the Add method for an example.

XmlSchemaCollection может использоваться XmlValidatingReader для эффективной проверки данных.XmlSchemaCollection can be used by XmlValidatingReader for efficient data validation.

Важно!

XmlSchemaCollectionКласс является устаревшим в Microsoft .NET Framework версии 2,0 и был заменен XmlSchemaSet классом.The XmlSchemaCollection class is obsolete in the Microsoft .NET Framework version 2.0 and has been replaced by the XmlSchemaSet class.

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

XmlSchemaCollection()

Инициализирует новый экземпляр класса XmlSchemaCollection.Initializes a new instance of the XmlSchemaCollection class.

XmlSchemaCollection(XmlNameTable)

Инициализирует новый экземпляр класса XmlSchemaCollection указанным значением XmlNameTable.Initializes a new instance of the XmlSchemaCollection class with the specified XmlNameTable. XmlNameTable используется при загрузке схем.The XmlNameTable is used when loading schemas.

Свойства

Count

Возвращает количество пространств имен, определенных в данной коллекции.Gets the number of namespaces defined in this collection.

Item[String]

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

NameTable

Получает значение по умолчанию XmlNameTable, используемой XmlSchemaCollection при загрузке новых схем.Gets the default XmlNameTable used by the XmlSchemaCollection when loading new schemas.

Методы

Add(String, String)

Добавляет в коллекцию схему, находящуюся по указанному URL-адресу.Adds the schema located by the given URL into the schema collection.

Add(String, XmlReader)

Добавляет схему, содержащуюся в XmlReader в коллекцию схем.Adds the schema contained in the XmlReader to the schema collection.

Add(String, XmlReader, XmlResolver)

Добавляет схему, содержащуюся в XmlReader в коллекцию схем.Adds the schema contained in the XmlReader to the schema collection. Заданный XmlResolver используется для опознания каких-либо внешних ресурсов.The specified XmlResolver is used to resolve any external resources.

Add(XmlSchema)

Добавляет XmlSchema в коллекцию.Adds the XmlSchema to the collection.

Add(XmlSchema, XmlResolver)

Добавляет XmlSchema в коллекцию.Adds the XmlSchema to the collection. Заданный XmlResolver используется для опознания каких-либо внешних ссылок.The specified XmlResolver is used to resolve any external references.

Add(XmlSchemaCollection)

Добавляет в данную коллекцию все пространства имен, определенные в указанной коллекции (включая связанные с ними схемы).Adds all the namespaces defined in the given collection (including their associated schemas) to this collection.

Contains(String)

Возвращает значение, которое показывает, присутствует ли схема с указанным пространством имен в коллекции.Gets a value indicating whether a schema with the specified namespace is in the collection.

Contains(XmlSchema)

Получает значение, которое показывает, находится ли targetNamespace, заданной XmlSchema в коллекции.Gets a value indicating whether the targetNamespace of the specified XmlSchema is in the collection.

CopyTo(XmlSchema[], Int32)

Копирует все объекты XmlSchema из данной коллекции в предложенный массив, начинающийся с предложенного индекса.Copies all the XmlSchema objects from this collection into the given array starting at the given index.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

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

Предоставляет поддержку для итерации в стиле "for each" ("для каждого") по коллекции схем.Provides support for the "for each" style iteration over the collection of schemas.

GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

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

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

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

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

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

События

ValidationEventHandler

Задает обработчик событий на получение информации об ошибках проверки XDR- и XML-схем.Sets an event handler for receiving information about the XDR and XML schema validation errors.

Явные реализации интерфейса

ICollection.CopyTo(Array, Int32)

Описание этого члена см. в разделе CopyTo(XmlSchema[], Int32).For a description of this member, see CopyTo(XmlSchema[], Int32).

ICollection.Count

Описание этого члена см. в разделе Count.For a description of this member, see Count.

ICollection.IsSynchronized

Описание этого члена см. в разделе ICollection.IsSynchronized.For a description of this member, see ICollection.IsSynchronized.

ICollection.SyncRoot

Описание этого члена см. в разделе ICollection.SyncRoot.For a description of this member, see ICollection.SyncRoot.

IEnumerable.GetEnumerator()

Описание этого члена см. в разделе GetEnumerator().For a description of this member, see GetEnumerator().

Методы расширения

Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.Enables parallelization of a query.

AsQueryable(IEnumerable)

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

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