データの保存形式や、設定ファイルの記述形式としてXMLを選択することがある。まぁ、その形式にXMLが適しているのかどうか、という話はおいといて、とにかくXMLを採用したとする。 そのXMLを読み書きするのはアプリケーションからのみ、というのであれば大した問題はないかもしれないが、「人間が編集する可能性がある」とした場合、XMLのスキーマ定義をしておくのが親切であろう。 XMLのスキーマとは、例えばこんな定義。 fooの子要素にはbar, baz, qux の順に要素が現れる bazは省略できる quxは1回以上、複数あらわれることもできる qux要素にはquux属性が必ず必要、その他の属性は存在できない quuxの値は、必ず1以上の整数でなければならない などなど <foo> <bar/> <qux quux="1"/> <qux quux="4"/> </foo> こういったXMLの構造