顺序指示器与元素的出现指示器
之间有什么区别
<xs:element name="root">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="child"/>
</xs:sequence>
</xs:complexType>
</xs:element>
和
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="child" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
在第一个示例中,出现指示符应用于 xs:sequence
,第二次则应用于 xs:element
。
What's the difference between
<xs:element name="root">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="child"/>
</xs:sequence>
</xs:complexType>
</xs:element>
and
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="child" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
In the first example the occurrence indicator is applied to xs:sequence
and the second time it is applied to xs:element
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在您的特定情况下,没有区别,但请考虑当序列包含多个元素时的情况:
与:
第一个匹配
child1
、child2
的任意数量的序列、child3
:第二个匹配单个序列,该序列可以包含一个或多个
child1
元素,后跟一个或多个child2
元素,后跟一个或更多child3
元素:您的架构具有相同的效果因为包含重复的单个元素的序列与包含单个元素的重复序列相同。通常,序列重复和元素重复会导致不同的内容模型。
In your particular case, there is no difference but consider the situation when the sequence contains more than one element:
compared with:
The first matches any number of sequences of
child1
,child2
,child3
:and the second matches a single sequence that can contain one or more
child1
elements followed by one or morechild2
elements followed by one or morechild3
elements:Your schemas have identical effect because a sequence that contains a single element repeated is the same as a repeating sequence that contains a single element. Normally, the sequence repeating and the elements repeating lead to different content models.