Bonjour,
Je débute avec XML/XSD.
Je rencontre des difficultés lors de la validation du fichier XSD, je n'ai notamment pas compris l'utilisation de complexType et simpleType.
Voici le fichier XML :
et le fichier XSD suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 <?xml version="1.0" encoding="utf-8"?> <intervention nomintervention="vidange" nombreemecaniciens="1" xmlns="http://www.w3schools.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3schools.com intervention.xsd"> <dureetauxhoraire1 unite="heures">1</dureetauxhoraire1> <dureetauxhoraire2 unite="heures">0</dureetauxhoraire2> <piece nompiece="filtre"> <quantite unite="filtre">1</quantite> </piece> <piece nompiece="joint"> <quantite unite="joint">1</quantite> </piece> <piece nompiece="huile"> <quantite unite="litre">4</quantite> </piece> <instructions> <etape>Dévisser le bouchon de vidange à l'aide d'une clé de 13</etape> <etape>Faire couler l'huile usagée</etape> <etape>Revisser le bouchon de vidange</etape> <etape>Dévisser le bouchon moteur et vider l'huile neuve</etape> <etape>Faire le niveau et reboucher</etape> </instructions> </intervention>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3schools.com" xmlns="http://www.w3schools.com" elementFormDefault="qualified"> <xs:element name="intervention"> <xs:complexType> <xs:sequence> <xs:element name="dureetauxhoraire1" minOccurs="1" maxOccurs="1"> <xs:complexType> <xs:attribute name="unite" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="secondes"/> <xs:enumeration value="minutes"/> <xs:enumeration value="heures"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="dureetauxhoraire2" minOccurs="1" maxOccurs="1"> <xs:complexType> <xs:attribute name="unite" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="secondes"/> <xs:enumeration value="minutes"/> <xs:enumeration value="heures"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="piece" minOccurs="2" maxOccurs="10"> <xs:complexType> <xs:attribute name="nompiece" type="xs:string" use="required"> <xs:element name="quantite"> <xs:complexType> <xs:attribute name="unite" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="instructions" minOccurs="1" maxOccurs="1"> <xs:simpleType> <xs:element name="etape" type="xs:string" minOccurs="1" maxOccurs="unbounded"/> </xs:simpleType> </xs:element> </xs:sequence> <xs:attribute name="nomintervention" type="xs:string" use="required"/> <xs:attribute name="nombreemecaniciens" type="xs:integer" use="required"/> </xs:complexType> </xs:element> </xs:schema>
Voici les erreurs que cela me renvoie :
Errors in the XML document:
8: 57 cvc-complex-type.2.1: Element 'dureetauxhoraire1' must have no character or element information item [children], because the type's content type is empty.
10: 57 cvc-complex-type.2.1: Element 'dureetauxhoraire2' must have no character or element information item [children], because the type's content type is empty.
14: 10 cvc-complex-type.2.1: Element 'piece' must have no character or element information item [children], because the type's content type is empty.
18: 10 cvc-complex-type.2.1: Element 'piece' must have no character or element information item [children], because the type's content type is empty.
22: 10 cvc-complex-type.2.1: Element 'piece' must have no character or element information item [children], because the type's content type is empty.
30: 17 cvc-type.3.1.2: Element 'instructions' is a simple type, so it must have no element information item [children].
Errors in file intervention.xsd:
46: 34 s4s-elt-must-match.1: The content of 'nompiece' must match (annotation?, (simpleType?)). A problem was found starting at: element.
57: 19 s4s-elt-must-match.1: The content of 'simpleType' must match (annotation?, (restriction | list | union)). A problem was found starting at: element.
Auriez vous une idée de ce qui ne va pas ?
Merci beaucoup pour votre aide !
Partager