如何使元素出现在 XML 架构中的任何位置
我需要一个元素可以在任何地方出现任意次数。最简单的方法是什么?如果我有其他元素,将其作为可选元素放入每个人体内是不明智的。
I need an element to appear anywhere any amount of times. What is the easiest way to do it? If I have other elements, it wouldn't be wise to just put it inside everyone as an optional.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一般来说,您不能这样做,因为您将拥有一个不确定的模型。
例如,您不能拥有如下序列组:
在上面,元素 X 的出现可以根据 X 的第一个或第二个声明进行验证。这违反了“唯一粒子属性”(UPA) 要求。
可能没有模式可以准确识别您想要的语言。或者,如果您能找到避免 UPA 违规的方法,也许可以适应您的特定语言。例如,如果上面的 Y 不是可选的(如果 minOccurs 等于 maxOccurs),则不会违反 UPA。
In general, you cannot do this as you will have a non-deterministic model.
For example, you cannot have a sequence group like:
In the above, an occurrence of element X could validate against the first or second declaration of X. This violates the "Unique Particle Attribution" (UPA) requirement.
It may be that no schema can recognize precisely the language you want. Or, perhaps your particular language can be accommodated if you can see your way to avoiding UPA violations. For example, if Y above had not been optional (if minOccurs had equaled maxOccurs), then UPA would not have been violated.