XmlSchemaSet.Reprocess(XmlSchema) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重新处理已经存在于 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 对象。 如果架构无效且指定了 ValidationEventHandler,则将返回 null
并引发适当的验证事件。 否则会引发 XmlSchemaException。
例外
该架构无效。
作为参数传递的 XmlSchema 对象为 null
。
作为参数传递的 XmlSchema 对象并不存在于 XmlSchemaSet 中。
示例
以下示例演示如何重新处理添加到该架构的 XmlSchemaSet架构。 XmlSchemaSet使用Compile该方法编译架构并修改添加到该XmlSchemaSet架构的架构后,即使修改了架构,该IsCompiled属性也会设置为true
该属性XmlSchemaSet。 Reprocess调用该方法将执行该方法执行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
。
在执行编译后,应在修改架构 XmlSchemaSet 后 XmlSchemaSet 使用重新处理方法。
备注
如果更改了架构 (或其一个包含/导入) ,则需调用 Reprocess 该方法 XmlSchemaSet。 该方法 Reprocess 将根据 W3C XML 架构的规则检查架构的结构有效性。 但是,它不会执行完全验证检查。 它还将解析对内部和外部架构组件的引用。 成功检索的任何导入或包含的架构也会添加到其中 XmlSchemaSet。 导入的架构作为单独的 XmlSchema 对象添加,而包含的架构是包括 XmlSchema的一部分。 如果重新处理调用成功,则 IsCompiled 属性设置为 false。