我正在尝试提出一个架构,该架构允许 xml 指定由于遗留原因而未知的元素,而不仅仅是使元素成为非强制性的。
例如:
<personName>John</personName>
有效但
<personName></personName>
无效但
<personName><legacyUnknown /></personName>
已验证。
无论元素 personName 的复杂性如何,这都应该有效。有时它可能是一个带有字符串限制的简单类型,有时它可能是一个复杂元素。
<choice>
<element name="personName" type="name" />
<element name="personName" type="legacyUnknown" />
</choice>
<simpleType name="name">
<restriction base="string">
...enum values
</restriction>
</simpleType>
会很棒,但据我所知,你不能这样做。我知道这可以通过替换组来完成,但在我看来,我必须在我希望应用到的每种类型上放置用于构建子组的详细代码。
对此的任何帮助将不胜感激。