如何使元素出现在 XML 架构中的任何位置

发布于 2024-12-09 13:47:45 字数 68 浏览 0 评论 0原文

我需要一个元素可以在任何地方出现任意次数。最简单的方法是什么?如果我有其他元素,将其作为可选元素放入每个人体内是不明智的。

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

胡渣熟男 2024-12-16 13:47:45

一般来说,您不能这样做,因为您将拥有一个不确定的模型。

例如,您不能拥有如下序列组:

<xs:sequence>
   <!-- X is the element that may appear anywhere -->
   <xs:element name="X" minOccurs="0"/>
   <xs:element name="Y" minOccurs="0" maxOccurs="5"/>
   <xs:element name="X" minOccurs="0"/>
 </xs:sequence>

在上面,元素 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:

<xs:sequence>
   <!-- X is the element that may appear anywhere -->
   <xs:element name="X" minOccurs="0"/>
   <xs:element name="Y" minOccurs="0" maxOccurs="5"/>
   <xs:element name="X" minOccurs="0"/>
 </xs:sequence>

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文