Lors de la définition XSD, vous pouvez choisir de définir vos types comme imbriquées types ou globaux types (complexType). Je comprends que les types globaux sont beaucoup plus utiles quand il s'agit de morphisme ou de réutilisation d'éléments. Toutefois, si vous avez un modèle de données volumineux, vous devez définir pour chaque niveau un complexType global, puis créer un élément référençant le type global.XSD: Types vs emboîtées mondiaux Types
Nested
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="name">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname"/>
<xs:element name="lastname"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="address">
<xs:complexType>
<xs:sequence>
<xs:element name="street"/>
<xs:element name="city"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
mondial
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="nameType"/>
<xs:element name="address" type="addressType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="nameType">
<xs:sequence>
<xs:element name="firstname"/>
<xs:element name="lastname"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="addressType">
<xs:sequence>
<xs:element name="street"/>
<xs:element name="city"/>
</xs:sequence>
</xs:complexType>
Par conséquent, ma question: Quand vous utilisez des types imbriqués au lieu de les faire global?
Pour les personnes intéressées: Ma question concerne d'une manière ou d'une autre cette question (XML attribute vs element).