私は独自の検証 XML パーサーを作成しています。(はい、これが非常に複雑な作業であることは承知しており、libxml2 や Xerces などの既存の製品を使用する方が賢明な選択であることは承知しています。ただし、これは選択肢ではないので、ご容赦ください。)
XML および XSD ファイルをツリー構造に解析することは、それほど難しくありません。ただし、XML ツリーを XSD ツリーに対して検証するために使用するアルゴリズムを理解できないようです。
私はいくつかの調査を行いましたが、見つけたものはすべて一般的すぎる (コンパイラの書き方など) か、具体的すぎる (インクリメンタル検証など) のいずれかです。
私は自分のアイデアをいくつか持っていますが、それらはすべてかなり複雑なので、コーディングを開始する前に、自分のアイデアの妥当性 (しゃれは意図されていません) についてもう少し確信を持ちたいと思っています。
どうぞよろしくお願いいたします。ご不明な点がございましたら、お気軽にお問い合わせください。