XmlSchemaSet.Reprocess(XmlSchema) 方法

定义

重新处理已经存在于 XmlSchemaSet 中的 XML 架构定义语言 (XSD) 架构。

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

参数

schema
XmlSchema

要重新处理的架构。

返回

XmlSchema

如果架构有效,则为 XmlSchema 对象。 如果架构无效且指定了 ValidationEventHandler,则将返回 null 并引发适当的验证事件。 否则会引发 XmlSchemaException

例外

该架构无效。

作为参数传递的 XmlSchema 对象为 null

作为参数传递的 XmlSchema 对象并不存在于 XmlSchemaSet 中。

示例

以下示例演示如何重新处理添加到该架构的 XmlSchemaSet架构。 XmlSchemaSet使用Compile该方法编译架构并修改添加到该XmlSchemaSet架构的架构后,即使修改了架构,该IsCompiled属性也会设置为true该属性XmlSchemaSetReprocess调用该方法将执行该方法执行Add的所有预处理,并将属性设置为 IsCompiled 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);  

注解

重新处理架构在执行调用方法时 Add 对架构执行的所有预处理步骤。 如果调用 Reprocess 成功,则属性 IsCompiled 设置为 false

在执行编译后,应在修改架构 XmlSchemaSetXmlSchemaSet 使用重新处理方法。

备注

如果更改了架构 (或其一个包含/导入) ,则需调用 Reprocess 该方法 XmlSchemaSet。 该方法 Reprocess 将根据 W3C XML 架构的规则检查架构的结构有效性。 但是,它不会执行完全验证检查。 它还将解析对内部和外部架构组件的引用。 成功检索的任何导入或包含的架构也会添加到其中 XmlSchemaSet。 导入的架构作为单独的 XmlSchema 对象添加,而包含的架构是包括 XmlSchema的一部分。 如果重新处理调用成功,则 IsCompiled 属性设置为 false。

适用于