【问题标题】:XSD: Is the parent element optional when the child sequence has minOccurs=0?XSD:当子序列的 minOccurs=0 时,父元素是可选的吗?
【发布时间】:2014-11-26 17:33:26
【问题描述】:

给定 XSD 文件

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
 <xs:element name="myElement" type="myType"/>
 <xs:complexType name="myType">
  <xs:sequence>
   <xs:element name="myContent">
    <xs:complexType>
     <xs:sequence>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="myContentElement" nillable="true" type="myContentType"/>
      </xs:sequence>
    </xs:complexType>
  </xs:sequence>
 </xs:complexType>
 </xs:element>

最内层序列中的 minOccurs 是否以某种方式向上传播?

换句话说:以下是否是此 XSD 的有效 xml:
&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;myElement/&gt;

我希望至少能得到这个:
&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;myElement&gt;&lt;myContent/&gt;&lt;/myElement&gt;

【问题讨论】:

    标签: xml xsd


    【解决方案1】:

    不,元素的必要性不受其内容模型中子元素的必要性的影响。你的第一个例子是无效的;你的第二个例子是有效的。

    当然,如果父元素是可选的并且被省略,那么它的子元素就不能存在。只有当父元素存在时,其子元素的必要性才重要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-22
      • 1970-01-01
      • 2019-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-20
      • 1970-01-01
      相关资源
      最近更新 更多