XmlSchemaSet.Reprocess(XmlSchema) Method

Definition

Reprocesses an XML Schema definition language (XSD) schema that already exists in the XmlSchemaSet.

public:
 System::Xml::Schema::XmlSchema ^ Reprocess(System::Xml::Schema::XmlSchema ^ schema);
public System.Xml.Schema.XmlSchema Reprocess (System.Xml.Schema.XmlSchema schema);
member this.Reprocess : System.Xml.Schema.XmlSchema -> System.Xml.Schema.XmlSchema
Public Function Reprocess (schema As XmlSchema) As XmlSchema

Parameters

schema
XmlSchema

The schema to reprocess.

Returns

An XmlSchema object if the schema is a valid schema. If the schema is not valid and a ValidationEventHandler is specified, null is returned and the appropriate validation event is raised. Otherwise, an XmlSchemaException is thrown.

Exceptions

The schema is not valid.

The XmlSchema object passed as a parameter is null.

The XmlSchema object passed as a parameter does not already exist in the XmlSchemaSet.

Examples

The following example illustrates reprocessing a schema added to the XmlSchemaSet. After the XmlSchemaSet is compiled using the Compile method, and the schema added to the XmlSchemaSet is modified, the IsCompiled property will be set to true, even though a schema in the XmlSchemaSet has been modified. Calling the Reprocess method performs all the preprocessing performed by the Add method and sets the IsCompiled property to false.

Dim schemaSet As XmlSchemaSet = New XmlSchemaSet()
Dim schema As XmlSchema = schemaSet.Add("http://www.contoso.com/books", "http://www.contoso.com/books.xsd")
schemaSet.Compile()

Dim element As XmlSchemaElement = New XmlSchemaElement()
schema.Items.Add(element)
element.Name = "book"
element.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")

schemaSet.Reprocess(schema)
XmlSchemaSet schemaSet = new XmlSchemaSet();
XmlSchema schema = schemaSet.Add("http://www.contoso.com/books", "http://www.contoso.com/books.xsd");
schemaSet.Compile();

XmlSchemaElement element = new XmlSchemaElement();
schema.Items.Add(element);
element.Name = "book";
element.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");

schemaSet.Reprocess(schema);

Remarks

Reprocessing a schema performs all the preprocessing steps performed on a schema when the Add method is called. If the call to Reprocess is successful, the IsCompiled property is set to false.

The Reprocess method should be used after a schema in the XmlSchemaSet has been modified, after the XmlSchemaSet has performed compilation.

Note

You need to call the Reprocess method if you have changed a schema (or one of its includes/imports) after adding it to the XmlSchemaSet. The Reprocess method will check the schema for structural validity according to the rules of W3C XML Schema. However, it will not perform a full validation check. It will also resolve references to internal and external schema components. Any imported or included schemas that are successfully retrieved are also added to the XmlSchemaSet. Imported schemas are added as separate XmlSchema objects while included schemas are made part of the including XmlSchema. If the call to reprocess is successful, the IsCompiled property is set to false.

Applies to