2011-01-26 2 views
0

Если у вас есть структуру XML, как показано ниже:Использование Nillable в heirachical 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

Это зависит от вас. На языке, где говорится о том, что все дочерние элементы элемента являются nillable, не существует правила, тогда родитель должен также быть неровным. Но это может быть практика дизайна, которую вы выбираете. Это зависит от того, почему вы используете xsi: nil в первую очередь. Лично я никогда не видел ситуации, когда я нашел ее удаленной полезной - позволяя элементу быть пустым и позволяя ему отсутствовать, уже дает два способа обработки отсутствующих данных, и я не вижу необходимости в третьем.

+0

Благодарим Вас за отзыв. Это то, что я искал. В нашем случае нулевые значения являются значительными, но я боролся со стоимостью их по тем же причинам, о которых вы говорили. Спасибо за комментарий. – Fireworks

Смежные вопросы