2011-01-26 31 views
0

当你有一个XML结构如下图所示:对于错误的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

这取决于你。在语言中没有规定如果一个元素的所有子元素都是可填充的,那么父元素也应该是可填充的。但这可能是您选择遵循的设计惯例。这取决于你为什么首先使用xsi:nil。就我个人而言,我从来没有见过这样一种情况,即我发现它远程有用 - 允许一个元素为空并允许它不存在已经提供了两种处理缺失数据的方法,而且我认为不需要三分之一。

+0

感谢您的反馈。这就是我一直在寻找的。在我们的案例中,空值是很重要的,但是我出于与你提到的相同的原因而挣扎着他们的价值。感谢您的评论。 – Fireworks 2011-01-27 19:52:15

相关问题