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 :
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
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>
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 <!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 >
Voilà un grand merci à ceux qui pourront m'aider et merci d'avance
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>
Bonne journée
Cordialement
loboto







Répondre avec citation






Ha oui merci j'avais pas pensé à modifier la DTD. Je l'ai fait mais maintenant le validateur me dit qu'il faut un espace blanc avant le déclaration du type de l'attribut, ou un truc comme ça je parle pas très bien anglais.
Partager