2 pièce(s) jointe(s)
Soucis d'erreur du code (validation)
Bonjour à tous,
je viens de commencer xml, pour mon projet je dois passer un code DTD en un code schéma. Mais lorsque j'ai fais mon code j'ai une erreur du type :
Pièce jointe 244093
Voici mon fichier de base a exploité (un aperçu) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
<?xml version="1.0" encoding="utf-8"?>
<company>
<cmp_info>
<code>EBAY</code>
<name>eBay Inc.</name>
</cmp_info>
<brokers>
<broker>
<bkr_info>
<code>1</code>
</bkr_info>
<orders>
<sell id="100246" day="2001-06-01" time="12:31:31" msec="20" size="100" price="60.34" rec="153944"/>
<sell id="100365" day="2001-06-01" time="12:32:22" msec="740" size="100" price="61" rec="154136"/>
<sell id="100966" day="2001-06-01" time="12:36:48" msec="860" size="46" price="60.35" rec="155061"/>
<sell id="101026" day="2001-06-01" time="12:37:12" msec="410" size="300" price="60.44" rec="155142"/>
<sell id="101397" day="2001-06-01" time="12:38:36" msec="230" size="100" price="60.5" rec="155691"/>
<sell id="101651" day="2001-06-01" time="12:39:27" msec="160" size="500" price="60.55" rec="156056"/> |
voici le code DTD :
Code:
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
|
<!ELEMENT company (cmp_info, brokers)>
<!ELEMENT cmp_info (code, name)>
<!ELEMENT brokers (broker)*>
<!ELEMENT broker (bkr_info, orders)>
<!ELEMENT bkr_info (code, name?)>
<!ELEMENT code (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT orders (sell | buy)*>
<!ELEMENT sell EMPTY>
<!ATTLIST sell
id CDATA #REQUIRED
day CDATA #REQUIRED
time CDATA #REQUIRED
msec CDATA #REQUIRED
size CDATA #REQUIRED
price CDATA #REQUIRED
rec CDATA #REQUIRED>
<!ELEMENT buy EMPTY>
<!ATTLIST buy
id CDATA #REQUIRED
day CDATA #REQUIRED
time CDATA #REQUIRED
msec CDATA #REQUIRED
size CDATA #REQUIRED
price CDATA #REQUIRED
rec CDATA #REQUIRED> |
et voici mon code schéma :
Code:
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 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
|
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name= "company">
<xs:complexType>
<xs:sequence>
<xs:element ref= "cmp_info"/>
<xs:element ref= "brokers"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name= "cmp_info">
<xs:complexType>
<xs:sequence>
<xs:element name="code" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name= "brokers">
<xs:complexType>
<xs:sequence>
<xs:element ref="broker" minOccurs="0" maxOccurs= "unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name= "broker">
<xs:complexType>
<xs:sequence>
<xs:element ref="bkr_info"/>
<xs:element ref="orders"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name= "bkr_info">
<xs:complexType>
<xs:sequence>
<xs:element name="code" type= "xs:int"/>
<xs:element name="name" type= "xs:string" minOccurs= "0" maxOccurs= "1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name= "orders">
<xs:complexType>
<xs:choice>
<xs:element ref="sell" minOuccurs= "0" maxOccurs= "unbounded"/>
<xs:element ref="buy" minOccurs= "0" maxOccurs= "unbounded"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="sell">
<xs:complexType>
<xs:attribute name="id" use= "required">
<xs:simpleType>
<xs:restriction base= "xs:int">
<xs:pattern value= "[0-9]*"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="day" default= "2001-06-01"/>
<xs:simpleType>
<xs:restriction base= "xs:date">
<xs:pattern value="\d{4}[/]\d{2}[/]\d{2}"/>
<xs:length value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="time" use= "required">
<xs:simpleType>
<xs:restriction base= "xs:time">
<xs:pattern value= "[0-2][0-9]:[0-5][0-9]:[0-5][0-9]"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="msec" use= "required">
<xs:simpleType>
<xs:restriction base= "xs:int">
<xs:pattern value= "[0-9]*"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="size" use= "required">
<xs:simpleType>
<xs:restriction base= "xs:int">
<xs:pattern value= "[0-9]*"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="price" use= "required">
<xs:simpleType>
<xs:restriction base= "xs:float">
<xs:pattern value= "[0-9]*"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="rec" use= "required">
<xs:simpleType>
<xs:restriction base= "xs:int">
<xs:pattern value= "[0-9]*"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="buy">
<xs:complexType>
<xs:attribute name="id" use= "required">
<xs:simpleType>
<xs:restriction base= "xs:int">
<xs:pattern value= "[0-9]*"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="day" default= "2001-06-01"/>
<xs:simpleType>
<xs:restriction base= "xs:date">
<xs:pattern value="\d{4}[/]\d{2}[/]\d{2}"/>
<xs:length value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="time" use= "required">
<xs:simpleType>
<xs:restriction base= "xs:time">
<xs:pattern value= "[0-2][0-9]:[0-5][0-9]:[0-5][0-9]"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="msec" use= "required">
<xs:simpleType>
<xs:restriction base= "xs:int">
<xs:pattern value= "[0-9]*"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="size" use= "required">
<xs:simpleType>
<xs:restriction base= "xs:int">
<xs:pattern value= "[0-9]*"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="price" use= "required">
<xs:simpleType>
<xs:restriction base= "xs:float">
<xs:pattern value= "[0-9]*"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="rec" use= "required">
<xs:simpleType>
<xs:restriction base= "xs:int">
<xs:pattern value= "[0-9]*"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema> |
Pouvez-vous m'aider a trouver mon problème. je pense que cela viens des mes variables sell et buy avec les attributs. je ne sais pas si j'ai le droit de mettre des attribut comme ça a la suite.
Car je veux mettre des restrictions comme elle sont mises.
car j'ai tenté le code suivant sans toutes mes restrictions mais j'ai aussi un autre problème
Pièce jointe 244098
avec le code suivant plus simple mais qui ne marche pas non plus :
Code:
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 74 75 76 77 78 79 80 81
|
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name= "company">
<xs:complexType>
<xs:sequence>
<xs:element ref= "cmp_info"/>
<xs:element ref= "brokers"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name= "cmp_info">
<xs:complexType>
<xs:sequence>
<xs:element name="code" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name= "brokers">
<xs:complexType>
<xs:sequence>
<xs:element ref="broker" minOccurs="0" maxOccurs= "unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name= "broker">
<xs:complexType>
<xs:sequence>
<xs:element ref="bkr_info"/>
<xs:element ref="orders"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name= "bkr_info">
<xs:complexType>
<xs:sequence>
<xs:element name="code" type= "xs:int"/>
<xs:element name="name" type= "xs:string" minOccurs= "0" maxOccurs= "1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name= "orders">
<xs:complexType>
<xs:choice>
<xs:element ref="sell" minOccurs= "0" maxOccurs= "unbounded"/>
<xs:element ref="buy" minOccurs= "0" maxOccurs= "unbounded"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="sell">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="required"/>
<xs:attribute name="day" type="xs:date" default="2001-06-01"/>
<xs:attribute name="time" type="xs:time" use="required"/>
<xs:attribute name="msec" type="xs:int" use="required"/>
<xs:attribute name="size" type="xs:int" use="required"/>
<xs:attribute name="price" type="xs:float" use="required"/>
<xs:attribute name="rec" type="xs:int" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="buy">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="required"/>
<xs:attribute name="day" type="xs:date" default="2001-06-01"/>
<xs:attribute name="time" type="xs:time" use="required"/>
<xs:attribute name="msec" type="xs:int" use="required"/>
<xs:attribute name="size" type="xs:int" use="required"/>
<xs:attribute name="price" type="xs:float" use="required"/>
<xs:attribute name="rec" type="xs:int" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema> |