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 :

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>
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
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 !