Export (0) Print
Expand All

XmlSchemaCollection Class

Note: This API is now obsolete.

Contains a cache of XML Schema definition language (XSD) and XML-Data Reduced (XDR) schemas. The XmlSchemaCollection class class is obsolete. Use XmlSchemaSet instead.

System.Object
  System.Xml.Schema.XmlSchemaCollection

Namespace:  System.Xml.Schema
Assembly:  System.Xml (in System.Xml.dll)

[ObsoleteAttribute("Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation. http://go.microsoft.com/fwlink/?linkid=14202")]
public sealed class XmlSchemaCollection : ICollection, 
	IEnumerable

The XmlSchemaCollection type exposes the following members.

  NameDescription
Public methodXmlSchemaCollection()Initializes a new instance of the XmlSchemaCollection class.
Public methodXmlSchemaCollection(XmlNameTable)Initializes a new instance of the XmlSchemaCollection class with the specified XmlNameTable. The XmlNameTable is used when loading schemas.
Top

  NameDescription
Public propertyCountGets the number of namespaces defined in this collection.
Public propertyItemGets the XmlSchema associated with the given namespace URI.
Public propertyNameTableGets the default XmlNameTable used by the XmlSchemaCollection when loading new schemas.
Top

  NameDescription
Public methodAdd(XmlSchema)Adds the XmlSchema to the collection.
Public methodAdd(XmlSchemaCollection)Adds all the namespaces defined in the given collection (including their associated schemas) to this collection.
Public methodAdd(String, String)Adds the schema located by the given URL into the schema collection.
Public methodAdd(String, XmlReader)Adds the schema contained in the XmlReader to the schema collection.
Public methodAdd(XmlSchema, XmlResolver)Adds the XmlSchema to the collection. The specified XmlResolver is used to resolve any external references.
Public methodAdd(String, XmlReader, XmlResolver)Adds the schema contained in the XmlReader to the schema collection. The specified XmlResolver is used to resolve any external resources.
Public methodContains(String)Gets a value indicating whether a schema with the specified namespace is in the collection.
Public methodContains(XmlSchema)Gets a value indicating whether the targetNamespace of the specified XmlSchema is in the collection.
Public methodCopyToCopies all the XmlSchema objects from this collection into the given array starting at the given index.
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Public methodGetEnumeratorProvides support for the "for each" style iteration over the collection of schemas.
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Top

  NameDescription
Public eventValidationEventHandlerSets an event handler for receiving information about the XDR and XML schema validation errors.
Top

  NameDescription
Public Extension MethodAsParallelEnables parallelization of a query. (Defined by ParallelEnumerable.)
Public Extension MethodAsQueryableConverts an IEnumerable to an IQueryable. (Defined by Queryable.)
Public Extension MethodCast<TResult>Casts the elements of an IEnumerable to the specified type. (Defined by Enumerable.)
Public Extension MethodOfType<TResult>Filters the elements of an IEnumerable based on a specified type. (Defined by Enumerable.)
Top

  NameDescription
Explicit interface implemetationPrivate methodICollection.CopyToFor a description of this member, see XmlSchemaCollection.CopyTo.
Explicit interface implemetationPrivate propertyICollection.CountFor a description of this member, see XmlSchemaCollection.Count.
Explicit interface implemetationPrivate propertyICollection.IsSynchronizedFor a description of this member, see ICollection.IsSynchronized.
Explicit interface implemetationPrivate propertyICollection.SyncRootFor a description of this member, see ICollection.SyncRoot.
Explicit interface implemetationPrivate methodIEnumerable.GetEnumeratorFor a description of this member, see XmlSchemaCollection.GetEnumerator.
Top

Schemas are loaded using the Add method, at which time the schema is associated with a namespace Uniform Resource Identifier (URI). For XML Schemas, this will typically be the targetNamespace property of the schema.

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.

This version of the product supports the World Wide Web Consortium (W3C) XML Schema recommendation located at http://www.w3.org/TR/xmlschema-1 and http://www.w3.org/TR/xmlschema-2. An XML Schema must reference the W3C Schema namespace http://www.w3.org/2001/XMLSchema in its schema element. See the Add method for an example.

XmlSchemaCollection can be used by XmlValidatingReader for efficient data validation.

Important noteImportant

The XmlSchemaCollection class is obsolete in the Microsoft .NET Framework version 2.0 and has been replaced by the XmlSchemaSet class.

The following example validates an XML document using the XmlSchemaCollection.

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);
  }
}

.NET Framework

Supported in: 1.1, 1.0
Obsolete (compiler warning) in 4.5.2
Obsolete (compiler warning) in 4.5.1
Obsolete (compiler warning) in 4.5
Obsolete (compiler warning) in 4
Obsolete (compiler warning) in 3.5
Obsolete (compiler warning) in 3.5 SP1
Obsolete (compiler warning) in 3.0
Obsolete (compiler warning) in 3.0 SP1
Obsolete (compiler warning) in 3.0 SP2
Obsolete (compiler warning) in 2.0
Obsolete (compiler warning) in 2.0 SP1
Obsolete (compiler warning) in 2.0 SP2

.NET Framework Client Profile

Obsolete (compiler warning) in 4
Obsolete (compiler warning) in 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Show:
© 2014 Microsoft