XmlSchemaSet.Reprocess(XmlSchema) メソッド


XmlSchemaSet 内に既に存在している XML スキーマ定義言語 (XSD) スキーマを再処理します。Reprocesses an XML Schema definition language (XSD) schema that already exists in the XmlSchemaSet.

 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



再処理するスキーマ。The schema to reprocess.


スキーマが有効なスキーマの場合は XmlSchema オブジェクト。An XmlSchema object if the schema is a valid schema. スキーマが無効で ValidationEventHandler が指定されている場合は、null が返され、該当する検証イベントが発生します。If the schema is not valid and a ValidationEventHandler is specified, null is returned and the appropriate validation event is raised. それ以外の場合は、XmlSchemaException がスローされます。Otherwise, an XmlSchemaException is thrown.


スキーマが有効ではありません。The schema is not valid.

パラメーターとして渡される XmlSchema オブジェクトは null です。The XmlSchema object passed as a parameter is null.

パラメーターとして渡された XmlSchema オブジェクトは、XmlSchemaSet に存在していません。The XmlSchema object passed as a parameter does not already exist in the XmlSchemaSet.

次の例は、XmlSchemaSetに追加されたスキーマを再処理する方法を示しています。The following example illustrates reprocessing a schema added to the XmlSchemaSet. XmlSchemaSetCompile メソッドを使用してコンパイルされ、XmlSchemaSet に追加されたスキーマが変更された後、true内のスキーマが変更されていても、IsCompiled プロパティは 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. Reprocess メソッドを呼び出すと、Add メソッドによって実行されるすべての前処理が実行され、IsCompiled プロパティが falseに設定されます。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")  
Dim element As XmlSchemaElement = New XmlSchemaElement()  
element.Name = "book"  
element.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")  
XmlSchemaSet schemaSet = new XmlSchemaSet();  
XmlSchema schema = schemaSet.Add("http://www.contoso.com/books", "http://www.contoso.com/books.xsd");  
XmlSchemaElement element = new XmlSchemaElement();  
element.Name = "book";  
element.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");  


スキーマを再処理すると、Add メソッドが呼び出されたときに、スキーマに対して実行されるすべての前処理手順が実行されます。Reprocessing a schema performs all the preprocessing steps performed on a schema when the Add method is called. Reprocess の呼び出しが成功した場合、IsCompiled プロパティは falseに設定されます。If the call to Reprocess is successful, the IsCompiled property is set to false.

再処理メソッドは、XmlSchemaSet がコンパイルを実行した後に、XmlSchemaSet 内のスキーマが変更された後に使用する必要があります。The Reprocess method should be used after a schema in the XmlSchemaSet has been modified, after the XmlSchemaSet has performed compilation.


スキーマ (またはそのいずれかのインクルード/インポート) を XmlSchemaSetに追加した後に変更した場合は、Reprocess メソッドを呼び出す必要があります。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. Reprocess メソッドは、W3C XML スキーマの規則に従って、スキーマの構造上の有効性をチェックします。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. インポートまたは追加されたスキーマが正常に取得されると、XmlSchemaSetにも追加されます。Any imported or included schemas that are successfully retrieved are also added to the XmlSchemaSet. インポートされたスキーマは個別の XmlSchema オブジェクトとして追加されますが、含まれているスキーマは、インクルードする XmlSchemaの一部になります。Imported schemas are added as separate XmlSchema objects while included schemas are made part of the including XmlSchema. 再処理の呼び出しが成功した場合、IsCompiled プロパティは false に設定されます。If the call to reprocess is successful, the IsCompiled property is set to false.