変更できないプロセスによって生成されたxmlドキュメントがあります。これは少し次のようになります。
<root>
<foo bar="..." baz="..."/>
<foo bar="..." baz="..."/>
<foo bar="..." baz="..."/>
<foo/>
<foo/>
</root>
ファイルを読み取るプログラムが正しく実行されるために必要なため、foo要素に属性bazとbarを要求するようにスキーマを設定しました。ただし、上記のように、xmlを生成するプログラムは、最後に1つ以上の空のfoo要素を追加することがあります。これによりスキーマの検証が失敗しますが、プログラムが失敗する可能性があるため、スキーマを緩和して空のfoo要素を許可したくありません。
この問題を解決するための最良のアプローチが何であるかについて誰かが提案を持っていますか?私がこれまで考えてきた唯一の解決策は、xmlを前処理して、空のfoo要素を削除することですが、それは少し恐ろしいことです。