如果您拥有如下所示的XML结构:
<xs:complexType name="ContactSuperType">
<xs:sequence>
<xs:element name="Details">
<xs:complexType>
<xs:sequence>
<xs:element name="GivenName" type="xs:string" nillable="true"/>
<xs:element name="Initials" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="FamilyName" type="xs:string" nillable="true"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="Address" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:element name="Details">
也应该<xs:element name="Details" nillable="true">
吗?
答案 0 :(得分:0)
这取决于你。语言中没有规则说明如果一个元素的所有子元素都是可存活的,那么父元素也应该是可存档的。但这可能是您选择遵循的设计实践。这取决于你首先使用xsi:nil的原因。就我个人而言,我从未见过一种情况,我发现它远程有用 - 允许元素为空并允许它不存在已经提供了两种处理缺失数据的方法,我认为不需要第三种方法。