XmlSchemaCollection.Add Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет указанную схему в коллекцию схем.
Перегрузки
Add(XmlSchema) |
Добавляет XmlSchema в коллекцию. |
Add(XmlSchemaCollection) |
Добавляет в данную коллекцию все пространства имен, определенные в указанной коллекции (включая связанные с ними схемы). |
Add(String, String) |
Добавляет в коллекцию схему, находящуюся по указанному URL-адресу. |
Add(String, XmlReader) |
Добавляет схему, содержащуюся в XmlReader в коллекцию схем. |
Add(XmlSchema, XmlResolver) |
Добавляет XmlSchema в коллекцию. Заданный XmlResolver используется для опознания каких-либо внешних ссылок. |
Add(String, XmlReader, XmlResolver) |
Добавляет схему, содержащуюся в XmlReader в коллекцию схем. Заданный XmlResolver используется для опознания каких-либо внешних ресурсов. |
Комментарии
Важно!
Класс XmlSchemaCollection устарел в платформа .NET Framework версии 2.0 и заменен классомXmlSchemaSet.
Add(XmlSchema)
Добавляет XmlSchema в коллекцию.
public:
System::Xml::Schema::XmlSchema ^ Add(System::Xml::Schema::XmlSchema ^ schema);
public System.Xml.Schema.XmlSchema? Add (System.Xml.Schema.XmlSchema schema);
public System.Xml.Schema.XmlSchema Add (System.Xml.Schema.XmlSchema schema);
member this.Add : System.Xml.Schema.XmlSchema -> System.Xml.Schema.XmlSchema
Public Function Add (schema As XmlSchema) As XmlSchema
Параметры
- schema
- XmlSchema
Параметр XmlSchema
для добавления в коллекцию.
Возвращаемое значение
Объект XmlSchema
.
Комментарии
Атрибут targetNamespace
используется для идентификации этой схемы.
Если добавляемая схема содержит ссылки на другие пространства имен (через include
и import
элементы), уровень доверия приложения определяет способ разрешения этих других пространств имен. (В платформа .NET Framework версии 1.0 всегда использовалось значение по умолчаниюXmlUrlResolver.
Fully trusted code:
Значение по умолчанию XmlUrlResolver
без учетных данных пользователя используется для разрешения внешних ресурсов. Схемы для этих других пространств имен загружаются только для целей проверки. В отличие от исходной схемы, эти другие схемы не добавляются в коллекцию схем явным образом. В результате они недоступны с помощью каких-либо методов или свойств коллекции. Если эти внешние ресурсы находятся в сетевом ресурсе, требующего проверки подлинности, используйте перегрузку, принимающую XmlResolver в качестве одного из его аргументов, и укажите XmlResolver
необходимые учетные данные.
Semi-trusted code:
Внешние ссылки не разрешаются.
Примечание
XmlSchemaCollection
Если доступ к объекту осуществляется с помощью XmlValidatingReader.Schemas свойства, Add
метод использует указанный XmlResolver
свойствомXmlValidatingReader.XmlResolver.
Важно!
Класс XmlSchemaCollection устарел в платформа .NET Framework версии 2.0 и заменен классомXmlSchemaSet.
См. также раздел
Применяется к
Add(XmlSchemaCollection)
Добавляет в данную коллекцию все пространства имен, определенные в указанной коллекции (включая связанные с ними схемы).
public:
void Add(System::Xml::Schema::XmlSchemaCollection ^ schema);
public void Add (System.Xml.Schema.XmlSchemaCollection schema);
member this.Add : System.Xml.Schema.XmlSchemaCollection -> unit
Public Sub Add (schema As XmlSchemaCollection)
Параметры
- schema
- XmlSchemaCollection
XmlSchemaCollection
, которую необходимо добавить в данную коллекцию.
Комментарии
Если добавляемая схема содержит ссылки на другие пространства имен (посредством include
и import
элементами или атрибутом x-schema
), уровень доверия приложения определяет способ разрешения этих других пространств имен. (В платформа .NET Framework версии 1.0 всегда использовалось значение по умолчаниюXmlUrlResolver.
Fully trusted code:
Значение по умолчанию XmlUrlResolver
без учетных данных пользователя используется для разрешения внешних ресурсов. Схемы для этих других пространств имен загружаются только для целей проверки. В отличие от исходной схемы, эти другие схемы не добавляются в коллекцию схем явным образом. В результате они недоступны с помощью каких-либо методов или свойств коллекции. Если эти внешние ресурсы находятся в сетевом ресурсе, требующего проверки подлинности, используйте перегрузку, принимающую XmlResolver в качестве одного из его аргументов, и укажите XmlResolver
необходимые учетные данные.
Semi-trusted code:
Внешние ссылки не разрешаются.
Примечание
XmlSchemaCollection
Если доступ к объекту осуществляется с помощью XmlValidatingReader.Schemas свойства, Add
метод использует указанный XmlResolver
свойствомXmlValidatingReader.XmlResolver.
Важно!
Класс XmlSchemaCollection устарел в платформа .NET Framework версии 2.0 и заменен классомXmlSchemaSet.
Применяется к
Add(String, String)
Добавляет в коллекцию схему, находящуюся по указанному URL-адресу.
public:
System::Xml::Schema::XmlSchema ^ Add(System::String ^ ns, System::String ^ uri);
public System.Xml.Schema.XmlSchema? Add (string? ns, string uri);
public System.Xml.Schema.XmlSchema Add (string ns, string uri);
member this.Add : string * string -> System.Xml.Schema.XmlSchema
Public Function Add (ns As String, uri As String) As XmlSchema
Параметры
- ns
- String
Связанный со схемой URI пространства имен. Для XML-схем оно обычно представлено targetNamespace
.
- uri
- String
URL-адрес, ссылающийся на схему, которую необходимо загрузить.
Возвращаемое значение
XmlSchema добавлен в коллекцию схем; null
, если добавляемая схема является XDR-схемой или в схеме присутствуют ошибки компиляции.
Исключения
Схема не является действительной схемой.
Примеры
В следующем примере выполняется проверка трех XML-файлов с помощью схем, хранящихся в .XmlSchemaCollection
#using <System.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Schema;
public ref class SchemaCollectionSample
{
private:
XmlTextReader^ reader;
XmlValidatingReader^ vreader;
Boolean m_success;
public:
SchemaCollectionSample()
{
reader = nullptr;
vreader = nullptr;
m_success = true;
//Load the schema collection.
XmlSchemaCollection^ xsc = gcnew XmlSchemaCollection;
String^ schema = "books.xsd";
String^ schema1 = "schema1.xdr";
xsc->Add( "urn:bookstore-schema", schema ); //XSD schema
xsc->Add( "urn:newbooks-schema", schema1 ); //XDR schema
String^ doc1 = "booksSchema.xml";
String^ doc2 = "booksSchemaFail.xml";
String^ doc3 = "newbooks.xml";
//Validate the files using schemas stored in the collection.
Validate( doc1, xsc ); //Should pass.
Validate( doc2, xsc ); //Should fail.
Validate( doc3, xsc ); //Should fail.
}
private:
void Validate( String^ filename, XmlSchemaCollection^ xsc )
{
m_success = true;
Console::WriteLine();
Console::WriteLine( "Validating XML file {0}...", filename );
reader = gcnew XmlTextReader( filename );
//Create a validating reader.
vreader = gcnew XmlValidatingReader( reader );
//Validate using the schemas stored in the schema collection.
vreader->Schemas->Add( xsc );
//Set the validation event handler
vreader->ValidationEventHandler += gcnew ValidationEventHandler( this, &SchemaCollectionSample::ValidationCallBack );
//Read and validate the XML data.
while ( vreader->Read() )
{}
Console::WriteLine( "Validation finished. Validation {0}", (m_success == true ? (String^)"successful" : "failed") );
Console::WriteLine();
//Close the reader.
vreader->Close();
}
void ValidationCallBack( Object^ /*sender*/, ValidationEventArgs^ args )
{
m_success = false;
Console::Write( "\r\n\tValidation error: {0}", args->Message );
}
};
int main()
{
gcnew SchemaCollectionSample;
}
using System;
using System.IO;
using System.Xml;
using System.Xml.Schema;
public class SchemaCollectionSample
{
private const String doc1 = "booksSchema.xml";
private const String doc2 = "booksSchemaFail.xml";
private const String doc3 = "newbooks.xml";
private const String schema = "books.xsd";
private const String schema1 = "schema1.xdr";
private XmlTextReader reader=null;
private XmlValidatingReader vreader = null;
private Boolean m_success = true;
public SchemaCollectionSample ()
{
//Load the schema collection.
XmlSchemaCollection xsc = new XmlSchemaCollection();
xsc.Add("urn:bookstore-schema", schema); //XSD schema
xsc.Add("urn:newbooks-schema", schema1); //XDR schema
//Validate the files using schemas stored in the collection.
Validate(doc1, xsc); //Should pass.
Validate(doc2, xsc); //Should fail.
Validate(doc3, xsc); //Should fail.
}
public static void Main ()
{
SchemaCollectionSample validation = new SchemaCollectionSample();
}
private void Validate(String filename, XmlSchemaCollection xsc)
{
m_success = true;
Console.WriteLine();
Console.WriteLine("Validating XML file {0}...", filename.ToString());
reader = new XmlTextReader (filename);
//Create a validating reader.
vreader = new XmlValidatingReader (reader);
//Validate using the schemas stored in the schema collection.
vreader.Schemas.Add(xsc);
//Set the validation event handler
vreader.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);
//Read and validate the XML data.
while (vreader.Read()){}
Console.WriteLine ("Validation finished. Validation {0}", (m_success==true ? "successful" : "failed"));
Console.WriteLine();
//Close the reader.
vreader.Close();
}
private void ValidationCallBack (object sender, ValidationEventArgs args)
{
m_success = false;
Console.Write("\r\n\tValidation error: " + args.Message);
}
}
Option Strict
Option Explicit
Imports System.IO
Imports System.Xml
Imports System.Xml.Schema
Public Class SchemaCollectionSample
Private doc1 As String = "booksSchema.xml"
Private doc2 As String = "booksSchemaFail.xml"
Private doc3 As String = "newbooks.xml"
Private schema As String = "books.xsd"
Private schema1 As String = "schema1.xdr"
Private reader As XmlTextReader = Nothing
Private vreader As XmlValidatingReader = Nothing
Private m_success As Boolean = True
Public Sub New()
'Load the schema collection
Dim xsc As New XmlSchemaCollection()
xsc.Add("urn:bookstore-schema", schema) 'XSD schema
xsc.Add("urn:newbooks-schema", schema1) 'XDR schema
'Validate the files using schemas stored in the collection.
Validate(doc1, xsc) 'Should pass.
Validate(doc2, xsc) 'Should fail.
Validate(doc3, xsc) 'Should fail.
End Sub
Public Shared Sub Main()
Dim validation As New SchemaCollectionSample()
End Sub
Private Sub Validate(filename As String, xsc As XmlSchemaCollection)
m_success = True
Console.WriteLine()
Console.WriteLine("Validating XML file {0}...", filename.ToString())
reader = New XmlTextReader(filename)
'Create a validating reader.
vreader = New XmlValidatingReader(reader)
'Use the schemas stored in the schema collection.
vreader.Schemas.Add(xsc)
'Set the validation event handler.
AddHandler vreader.ValidationEventHandler, AddressOf ValidationCallBack
'Read and validate the XML data.
While vreader.Read()
End While
Console.WriteLine("Validation finished. Validation {0}", IIf(m_success, "successful", "failed"))
Console.WriteLine()
'Close the reader.
vreader.Close()
End Sub
Private Sub ValidationCallBack(sender As Object, args As ValidationEventArgs)
m_success = False
Console.Write((ControlChars.CrLf & ControlChars.Tab & "Validation error: " & args.Message))
End Sub
End Class
В примере используются следующие пять входных файлов:
booksSchema.xml
<?xml version='1.0'?>
<bookstore xmlns="urn:bookstore-schema">
<book genre="autobiography">
<title>The Autobiography of Benjamin Franklin</title>
<author>
<first-name>Benjamin</first-name>
<last-name>Franklin</last-name>
</author>
<price>8.99</price>
</book>
<book genre="novel">
<title>The Confidence Man</title>
<author>
<first-name>Herman</first-name>
<last-name>Melville</last-name>
</author>
<price>11.99</price>
</book>
</bookstore>
booksSchemaFail.xml
<?xml version='1.0'?>
<bookstore xmlns="urn:bookstore-schema">
<book>
<author>
<first-name>Benjamin</first-name>
<last-name>Franklin</last-name>
</author>
</book>
<book genre="novel">
<title>The Confidence Man</title>
<author>
<first-name>Herman</first-name>
<last-name>Melville</last-name>
</author>
<price>11.99</price>
</book>
<book genre="philosophy">
<title>The Gorgias</title>
<author>
<name>Plato</name>
</author>
<price>9.99</price>
</book>
</bookstore>
newbooks.xml
<?xml version='1.0'?>
<bookstore xmlns="urn:newbooks-schema">
<book genre="novel" style="hardcover">
<title>The Handmaid's Tale</title>
<author>
<first-name>Margaret</first-name>
<last-name>Atwood</last-name>
</author>
<price>19.95</price>
</book>
<book genre="novel" style="other">
<title>The Poisonwood Bible</title>
<author>
<first-name>Barbara</first-name>
<last-name>Kingsolver</last-name>
</author>
<price>11.99</price>
</book>
</bookstore>
books.xsd
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="urn:bookstore-schema"
elementFormDefault="qualified"
targetNamespace="urn:bookstore-schema">
<xsd:element name="bookstore" type="bookstoreType"/>
<xsd:complexType name="bookstoreType">
<xsd:sequence maxOccurs="unbounded">
<xsd:element name="book" type="bookType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="bookType">
<xsd:sequence>
<xsd:element name="title" type="xsd:string"/>
<xsd:element name="author" type="authorName"/>
<xsd:element name="price" type="xsd:decimal"/>
</xsd:sequence>
<xsd:attribute name="genre" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="authorName">
<xsd:sequence>
<xsd:element name="first-name" type="xsd:string"/>
<xsd:element name="last-name" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
schema1.xdr
<?xml version="1.0"?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:dt="urn:schemas-microsoft-com:datatypes">
<ElementType name="first-name" content="textOnly"/>
<ElementType name="last-name" content="textOnly"/>
<ElementType name="name" content="textOnly"/>
<ElementType name="price" content="textOnly" dt:type="fixed.14.4"/>
<ElementType name="author" content="eltOnly" order="one">
<group order="seq">
<element type="name"/>
</group>
<group order="seq">
<element type="first-name"/>
<element type="last-name"/>
</group>
</ElementType>
<ElementType name="title" content="textOnly"/>
<AttributeType name="genre" dt:type="string"/>
<AttributeType name="style" dt:type="enumeration"
dt:values="paperback hardcover"/>
<ElementType name="book" content="eltOnly">
<attribute type="genre" required="yes"/>
<attribute type="style" required="yes"/>
<element type="title"/>
<element type="author"/>
<element type="price"/>
</ElementType>
<ElementType name="bookstore" content="eltOnly">
<element type="book"/>
</ElementType>
</Schema>
Комментарии
Если ns
схема уже связана с другой схемой в коллекции, добавляемая схема заменяет исходную схему в коллекции. Например, в следующем коде C# добавляется файл authors.xsd из коллекции и names.xsd.
schemaColl.Add("urn:author", "authors.xsd");
schemaColl.Add("urn:author", "names.xsd");
null
Если ns
и добавляемая схема является XML-схемой, Add
метод использует targetNamespace
определенный в схеме XML для идентификации схемы в коллекции. Если добавляемая схема содержит ссылки на другие пространства имен (посредством include
и import
элементами или атрибутом x-schema
), уровень доверия приложения определяет способ разрешения этих других пространств имен. (В платформа .NET Framework версии 1.0 всегда использовалось значение по умолчаниюXmlUrlResolver.
Fully trusted code:
Значение по умолчанию XmlUrlResolver
без учетных данных пользователя используется для разрешения внешних ресурсов. Схемы для этих других пространств имен загружаются только для целей проверки. В отличие от исходной схемы, эти другие схемы не добавляются в коллекцию схем явным образом. В результате они недоступны с помощью каких-либо методов или свойств коллекции. Если эти внешние ресурсы находятся в сетевом ресурсе, требующего проверки подлинности, используйте перегрузку, принимающую XmlResolver в качестве одного из его аргументов, и укажите XmlResolver
необходимые учетные данные.
Semi-trusted code:
Внешние ссылки не разрешаются.
Примечание
XmlSchemaCollection
Если доступ к объекту осуществляется с помощью XmlValidatingReader.Schemas свойства, Add
метод использует указанный XmlResolver
свойствомXmlValidatingReader.XmlResolver.
Важно!
Класс XmlSchemaCollection устарел в платформа .NET Framework версии 2.0 и заменен классомXmlSchemaSet.
Применяется к
Add(String, XmlReader)
Добавляет схему, содержащуюся в XmlReader в коллекцию схем.
public:
System::Xml::Schema::XmlSchema ^ Add(System::String ^ ns, System::Xml::XmlReader ^ reader);
public System.Xml.Schema.XmlSchema? Add (string? ns, System.Xml.XmlReader reader);
public System.Xml.Schema.XmlSchema Add (string ns, System.Xml.XmlReader reader);
member this.Add : string * System.Xml.XmlReader -> System.Xml.Schema.XmlSchema
Public Function Add (ns As String, reader As XmlReader) As XmlSchema
Параметры
- ns
- String
Связанный со схемой URI пространства имен. Для XML-схем оно обычно представлено targetNamespace
.
Возвращаемое значение
XmlSchema добавлен в коллекцию схем; null
, если добавляемая схема является XDR-схемой или в схеме присутствуют ошибки компиляции.
Исключения
Схема не является действительной схемой.
Комментарии
Если ns
схема уже связана с другой схемой в коллекции, добавляемая схема заменяет исходную схему в коллекции.
null
Если ns
и добавляемая схема является XML-схемой, Add
метод использует targetNamespace
определенный в схеме XML для идентификации схемы в коллекции.
Если добавляемая схема содержит ссылки на другие пространства имен (посредством include
и import
элементами или атрибутом x-schema
), уровень доверия приложения определяет способ разрешения этих других пространств имен. (В платформа .NET Framework версии 1.0 всегда использовалось значение по умолчаниюXmlUrlResolver.
Fully trusted code:
Значение по умолчанию XmlUrlResolver
без учетных данных пользователя используется для разрешения внешних ресурсов. Схемы для этих других пространств имен загружаются только для целей проверки. В отличие от исходной схемы, эти другие схемы не добавляются в коллекцию схем явным образом. В результате они недоступны с помощью каких-либо методов или свойств коллекции. Если эти внешние ресурсы находятся в сетевом ресурсе, требующего проверки подлинности, используйте перегрузку, принимающую XmlResolver в качестве одного из его аргументов, и укажите XmlResolver
необходимые учетные данные.
Semi-trusted code:
Внешние ссылки не разрешаются.
Примечание
XmlSchemaCollection
Если доступ к объекту осуществляется с помощью XmlValidatingReader.Schemas свойства, Add
метод использует указанный XmlResolver
свойствомXmlValidatingReader.XmlResolver.
Важно!
Класс XmlSchemaCollection устарел в платформа .NET Framework версии 2.0 и заменен классомXmlSchemaSet.
Применяется к
Add(XmlSchema, XmlResolver)
Добавляет XmlSchema в коллекцию. Заданный XmlResolver используется для опознания каких-либо внешних ссылок.
public:
System::Xml::Schema::XmlSchema ^ Add(System::Xml::Schema::XmlSchema ^ schema, System::Xml::XmlResolver ^ resolver);
public System.Xml.Schema.XmlSchema? Add (System.Xml.Schema.XmlSchema schema, System.Xml.XmlResolver? resolver);
public System.Xml.Schema.XmlSchema Add (System.Xml.Schema.XmlSchema schema, System.Xml.XmlResolver resolver);
member this.Add : System.Xml.Schema.XmlSchema * System.Xml.XmlResolver -> System.Xml.Schema.XmlSchema
Public Function Add (schema As XmlSchema, resolver As XmlResolver) As XmlSchema
Параметры
- schema
- XmlSchema
Параметр XmlSchema
для добавления в коллекцию.
- resolver
- XmlResolver
XmlResolver используется для опознания пространств имен, на которые существуют ссылки в элементах include
и import
. Если null
, внешние ссылки не опознаются.
Возвращаемое значение
XmlSchema
добавлена в коллекцию схем.
Исключения
Схема не является действительной схемой.
Примеры
В следующем примере в коллекцию добавляется схема. Передается XmlUrlResolver методу Add
, который задает необходимые учетные данные, необходимые для доступа ко всем внешним ресурсам, на которые ссылается схема.
XmlSchemaCollection^ sc = gcnew XmlSchemaCollection;
sc->ValidationEventHandler += gcnew ValidationEventHandler( Sample::ValidationCallBack );
// Create a resolver with the necessary credentials.
XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
System::Net::NetworkCredential^ nc;
nc = gcnew System::Net::NetworkCredential( UserName,SecurelyStoredPassword,Domain );
resolver->Credentials = nc;
// Add the new schema to the collection.
sc->Add( nullptr, gcnew XmlTextReader( "sample.xsd" ), resolver );
XmlSchemaCollection sc = new XmlSchemaCollection();
sc.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);
// Create a resolver with the necessary credentials.
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;
// Add the new schema to the collection.
sc.Add("", new XmlTextReader("sample.xsd"), resolver);
Dim sc As XmlSchemaCollection = New XmlSchemaCollection()
AddHandler sc.ValidationEventHandler, AddressOf ValidationCallBack
' Create a resolver with the necessary credentials.
Dim resolver As XmlUrlResolver = New XmlUrlResolver()
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials
' Add the new schema to the collection.
sc.Add("", New XmlTextReader("sample.xsd"), resolver)
Комментарии
Атрибут targetNamespace
используется для идентификации этой схемы.
Если схема содержит include
и import
элементы, ссылающиеся на другие пространства имен, схемы для этих других пространств имен загружаются только для целей проверки. В отличие от исходной схемы, эти другие схемы не добавляются в коллекцию схем явным образом. В результате они недоступны с помощью каких-либо методов или свойств коллекции.
Важно!
Класс XmlSchemaCollection устарел в платформа .NET Framework версии 2.0 и заменен классомXmlSchemaSet.
См. также раздел
Применяется к
Add(String, XmlReader, XmlResolver)
Добавляет схему, содержащуюся в XmlReader в коллекцию схем. Заданный XmlResolver используется для опознания каких-либо внешних ресурсов.
public:
System::Xml::Schema::XmlSchema ^ Add(System::String ^ ns, System::Xml::XmlReader ^ reader, System::Xml::XmlResolver ^ resolver);
public System.Xml.Schema.XmlSchema? Add (string? ns, System.Xml.XmlReader reader, System.Xml.XmlResolver? resolver);
public System.Xml.Schema.XmlSchema Add (string ns, System.Xml.XmlReader reader, System.Xml.XmlResolver resolver);
member this.Add : string * System.Xml.XmlReader * System.Xml.XmlResolver -> System.Xml.Schema.XmlSchema
Public Function Add (ns As String, reader As XmlReader, resolver As XmlResolver) As XmlSchema
Параметры
- ns
- String
Связанный со схемой URI пространства имен. Для XML-схем оно обычно представлено targetNamespace
.
- resolver
- XmlResolver
XmlResolver используется для опознания пространства имен, на которое присутствуют ссылки в элементах include
и import
или атрибуте x-schema
(XDR-схемы). Если null
, внешние ссылки не опознаются.
Возвращаемое значение
XmlSchema добавлен в коллекцию схем; null
, если добавляемая схема является XDR-схемой или в схеме присутствуют ошибки компиляции.
Исключения
Схема не является действительной схемой.
Комментарии
Если ns
схема уже связана с другой схемой в коллекции, добавляемая схема заменяет исходную схему в коллекции.
Если ns
и null
добавляемая схема является XML-схемой, метод использует targetNamespace
атрибут, определенный в схеме XML, Add
для идентификации схемы в коллекции.
Если добавляемая схема содержит ссылки на другие пространства имен (через include
и import
элементы или x-schema
атрибут), схемы для этих других пространств имен загружаются только для целей проверки. В отличие от исходной схемы, эти другие схемы не добавляются в коллекцию схем явным образом. В результате они недоступны с помощью каких-либо методов или свойств коллекции.
Важно!
Класс XmlSchemaCollection устарел в платформа .NET Framework версии 2.0 и заменен классомXmlSchemaSet.