サービス プロバイダーが提供する WSDL といくつかの XSD ファイルを使用して、パブリック SOAP Web サービスのクライアントを作成しました。XSD ファイルに対してユーザー データを検証する簡単な方法を見つけたかったので、MSDN の標準的な例を使用し、XSD ファイルの XmlSchemaSet、XmlReader、およびエラー メッセージをキャッチする検証ルーチンを使用しました。(コードはhttp://msdn.microsoft.com/en-us/library/as3tta56.aspxで入手できます。) 一部のデータ要素では機能しますが、無効な場合にエラーをスローしないものもあります。「ValidationFlags = ValidationFlags Or XmlSchemaValidationFlags.ReportValidationWarnings」を含めると、「要素 'MyRequest' のスキーマ情報が見つかりませんでした」、「属性 'TheDate' のスキーマ情報が見つかりませんでした」など、多くの警告が表示されます。しかし、VS2010 IDE で XSD ファイルを開くことができ、その XML スキーマ エクスプローラーにはこれらの要素と属性が表示されます。
このように VS2010 で XML データを検証することに精通している方への主な質問は、XmlReader 検証で処理できる XSD ファイルの複雑さに制限はありますか? ターゲット名前空間のプレフィックスが XmlReader を混乱させる可能性はありますか? スキーマには何千もの複雑な型が定義されており、7 つの XSD ファイルにまたがっています。そのため、ユーザー入力フィールドごとに検証ルーチンを作成するのではなく、これを自動的に処理する必要がありました。
前もって感謝します。