私が解決しなければならない問題は次のとおりです。
XSD (または理想的には NVDL) スキーマを使用して「ほぼ検証」する XML ファイルが与えられた場合、プログラムでファイルを「修正」するにはどうすればよいですか?
(「ほとんど検証する」とは、一部の要素が持つことを許可されていない属性を持つことを意味します。他の検証エラーがないことが保証されます。「修正」とは、単に問題のある属性を削除することを意味します。)
Woodstox の検証ライターを使用してみましたが、何らかの理由で XSD を有効として受け入れませんでした (確かに、複数のインポートと抽象型ではかなり複雑ですが、有効です)。
代替手段は、出力を生成する XML 検証ライブラリです。このライブラリを解析/処理して、削除する必要がある属性を特定するために使用できます。
同じ最終製品を生成する他のアプローチも歓迎します。