我有一个无法更改的进程生成的 xml 文档。它看起来有点像这样:
<root>
<foo bar="..." baz="..."/>
<foo bar="..." baz="..."/>
<foo bar="..." baz="..."/>
<foo/>
<foo/>
</root>
我已经设置了一个模式,要求 foo 元素上的属性 baz 和 bar ,因为它们是读取文件的程序正确运行所必需的。但是,生成 xml 的程序有时会在末尾添加一个或多个空的 foo 元素,如上所示。这会导致模式验证失败,但我不想放松模式以允许空的 foo 元素,因为这可能会导致程序失败。
有没有人建议解决这个问题的最佳方法是什么?到目前为止我想到的唯一解决方案是预处理 xml,删除任何空的 foo 元素,但这有点可怕。