Question débutant XML (element, complexType, schema XML)
Bonjour,
Je débute avec XML, je viens d'apprendre il y a peu comment déclarer un élément de type complexe dans un schéma XML.
Exemple:
Code:
1 2 3 4 5 6 7 8
| <xs:element name="plan">
<xs:complexType>
<xs:sequence>
<xs:element name="auteurs" type="xs:string"/>
<xs:element name="chapitres" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element> |
Je peux aussi déclarer globalement un type complexe (si je ne dis pas de bêtise) et l'utiliser dans la déclaration d'un élément:
Code:
1 2 3 4 5 6 7 8
| <xs:complexType name="planType">
<xs:sequence>
<xs:element name="auteurs" type="xs:string"/>
<xs:element name="chapitres" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="plan" type="planType"/> |
Question:
1) Est-ce que je peux aussi simplement déclarer le même élément - "plan" - directement comme ceci ? voir code juste dessous… (ici "plan" est un élément)
2) Ou bien est-ce sous-entendu que le type d'un élément fera référence à ce type "plan" ? (ici "plan" est un type) -> perso, je penche plus vers cette hypothèse.
Code:
1 2 3 4 5 6
| <xs:complexType name="plan">
<xs:sequence>
<xs:element name="auteurs" type="xs:string"/>
<xs:element name="chapitres" type="xs:string"/>
</xs:sequence>
</xs:complexType> |
Pourquoi je pose cette question ?
Je pose cette question car apparaît dans un cours cette manière d'écrire sans crier gare (et ça apparaît à nouveau ensuite plus loin…) comme ceci:
Lien (recherchez "sha1" dans la page…), et j'aimerais bien interpréter tout cela correctement.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <xsd:complexType name="sha1">
<xsd:simpleType>
<xsd:restriction base="xsd:hexBinary">
<xsd:length value="40" />
</xsd:restriction>
</xsd:simpleType>
</xsd:complexType>
<!-- valide -->
<sha1>edf7a6029d6bdfb68447677a1d76639725f795f1</sha1>
<!-- valide -->
<sha1>a94a8fe5ccb19ba61c4c0873d391e987982fbbd3</sha1>
<!-- invalide -->
<sha1>test</sha1> |
Merci :)