加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – XSD发生界限是否在序列或元素上?

发布时间:2020-12-16 07:52:48 所属栏目:百科 来源:网络整理
导读:如果我有一个元素与一个或多个子元素,min / maxoccurs属性应该在xsd:sequence元素,xsd:元素,两者或两者? xsd:element name="books" xsd:complexType xsd:sequence minOccurs="1" maxOccurs="unbounded" !-- here? -- xsd:element ref="book" minOccurs="1
如果我有一个元素与一个或多个子元素,min / maxoccurs属性应该在xsd:sequence元素,xsd:元素,两者或两者?
<xsd:element name="books">
  <xsd:complexType>
    <xsd:sequence minOccurs="1" maxOccurs="unbounded"> <!-- here? -->
      <xsd:element ref="book" minOccurs="1" maxOccurs="unbounded"/> <!-- or here? -->
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>
在几乎所有的情况下,你想把元素的最小/最大值发生在序列中,而不是在序列上.使用你的例子:
<xsd:element name="books">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element ref="book" minOccurs="1" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

这是明确的.如果您有一系列书籍元素,您可以指出正在生成它们的模式项目.然而:

<xsd:element name="books">
  <xsd:complexType>
    <xsd:sequence minOccurs="1" maxOccurs="unbounded"/>
      <xsd:element ref="book" minOccurs="1" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

在这里,如果你有两个“书”元素,你有两个序列在??一行,还是一个序列与两个书元素?这不符合Unique Particle Attribution要求.

最后,如果将序列中的最小/最大值发生了,然后再添加一个附加元素:

<xsd:element name="books">
  <xsd:complexType>
    <xsd:sequence minOccurs="1" maxOccurs="unbounded"/>
      <xsd:element ref="book"/>
      <xsd:element ref="ebook"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

那么这可能允许以下XML,这可能不是你打算的:

<books>
  <book/><ebook/><book/><ebook/><book/><ebook/><book/><ebook/>
</books>

而如果你有:

<xsd:element name="books">
  <xsd:complexType>
    <xsd:sequence/>
      <xsd:element ref="book" minOccurs="1" maxOccurs="unbounded"/>
      <xsd:element ref="ebook" minOccurs="1" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

那么你打算什么是清楚和明确的:一个或多个书籍元素的序列后面是一个或多个电子书单元的序列.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读