我必须为已经使用的 XML 格式创建一个模式。现有的 XML 已经由不同的程序生成,听起来很难找到所有需要更改的地方才能使用更常规的 XML 格式。
这是一个类似于我们的 XML 结构的示例:
<data>
<summary>some info</summary>
<error>error message (only if there was an error)</error>
<details>more info
<x>more</x>
<y>even more</y>
</details>
<error>another error message</error>
<z>some extra info</z>
</data>
请注意,错误标签在同一级别重复使用,并且出现在某些项目之后而不是其他项目之后,所以我不能只设置 maxOccurs="unbounded"。我已经尝试将相关的错误/其他标签对包装在 xsd:sequence 中,但这并不能解决问题,因为我仍然有效地破坏了唯一粒子归属规则。
这甚至可以完成,还是我需要让其他开发人员知道这个模式不会验证?