J'ai un élément complexe avec des enfants et ces enfants ont des attributs. Tout fonctionne bien, mais maintenant je devais ajouter un attribut pour l'élément principal complexe.Où mettre les déclarations d'attributs XML dans XSD?
C'était le code que j'avais qui a bien fonctionné:
<xs:element name="route">
<xs:complexType>
<xs:sequence>
<xs:element name="origin">
<xs:complexType>
<xs:attribute name="name"/>
<xs:attribute name="category">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="1sub1sub1"/>
<xs:enumeration value="2sub1sub1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
Alors, comment puis-je ajouter un attribut à l'élément de la route? Si je le fais comme ça, il émet une erreur que l'attribut est pas autorisé int son contexte:
<xs:element name="route">
<xs:complexType>
<xs:attribute name="foobar"/>
<xs:sequence>
<xs:element name="origin">
<xs:complexType>
<xs:attribute name="name"/>
<xs:attribute name="category">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="1sub1sub1"/>
<xs:enumeration value="2sub1sub1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>