Bonjour à toutes et à tous
Je débute en xml DTD et xsd et j'aimerais avoir votre avis quant à la validité de mes documents.

le 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
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<carte xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:noNamespaceSchemaLocation="essai.xsd">
	<entree>
		<plat nom="entree1" prix_unitaire="5" quantite_mini="4">
		</plat>
		<plat nom="entree2" prix_unitaire="7" quantite_mini="2">
		</plat>
	</entree>
	<resistance>
		<plat nom="plat1" prix_unitaire="8" quantite_mini="6">
		</plat>
		<plat nom="plat2" prix_unitaire="12" quantite_mini="4">
		</plat>
	</resistance>
	<dessert>
		<plat nom="dessert1" prix_unitaire="5" quantite_mini="2">
		</plat>
		<plat nom="dessert2" prix_unitaire="7" quantite_mini="4">
		</plat>
	</dessert>
	<menus>
		<menu nom="menu1" entree="entree1" plat="plat2" dessert="dessert1" ristourne="3" quantite_mini="4" />
		<menu nom="menu2" entree="entree1" plat="plat1" dessert="dessert2" ristourne="4" quantite_mini="6" />
	</menus>
</carte>
le DTD :

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
<!ELEMENT carte (entree?,resistance?, dessert?, menus?)>
<!ELEMENT entree (plat+)> 
<!ELEMENT resistance (plat+)>  
<!ELEMENT dessert (plat+)>
<!ELEMENT plat EMPTY> 
<ATTLIST plat 
	nom ID #REQUIRED 
	prix_unitaire CDATA #REQUIRED
	quantite_mini CDATA #REQUIRED 
>		
<!ELEMENT menus (menu+)>  
<!ELEMENT menu EMPTY>  
	nom ID #REQUIRED  
	entree CDATA #REQUIRED  
	plat CDATA #REQUIRED  
	dessert CDATA #REQUIRED  
	ristourne CDATA #IMPLIED 
	quantite_mini CDATA #REQUIRED 
>
et pour finir le xsd :

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
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<xsd:element name="carte"> 
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="entree"/>
				<xsd:element name="resistance"/>
				<xsd:element name="dessert"/> 
				<xsd:element name="menus"/> 
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
 
	<xsd:element name="entree">  
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="plat"/> 
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
 
	<xsd:element name="resistance">  
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="plat"/> 
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
 
	<xsd:element name="dessert">  
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="plat"/>  
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
 
	<xsd:element name="plat"> 
		<xsd:complexType>
			<xsd:attribute name="nom" type="xs:string" use="required"/>
			<xsd:attribute name="prix_unitaire" type="xs:positiveInteger" use="required"/>
			<xsd:attribute name="quantite_mini" type="xs:positiveInteger" use="required"/>
		</xsd:complexType>
	</xsd:element>
 
	<xsd:element name="menus">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="menu"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
 
	<xsd:element name="menu">
		<xsd:complexType>
			<xsd:attribute name="nom" type="xs:string" use="required"/>
			<xsd:attribute name="entree" type="xs:string" use="required"/>
			<xsd:attribute name="plat" type="xs:string" use="required"/>
			<xsd:attribute name="dessert" type="xs:string" use="required"/>
			<xsd:attribute name="ristourne" type="xs:positiveInteger" use="optional"/>
			<xsd:attribute name="quantite_mini" type="xs:positiveInteger" use="required"/>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>
Voilà un grand merci à ceux qui pourront m'aider et merci d'avance

Bonne journée
Cordialement
loboto