]> Wikimedia Canada | Git repositories - eccc_schema.git/blob - bulkschema.xsd
Add missing attributes, allow no day
[eccc_schema.git] / bulkschema.xsd
1 <?xml version="1.0" encoding="utf-8"?>
2 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3 <xsd:element name="climatedata">
4 <xsd:complexType>
5 <xsd:sequence>
6 <xsd:element name="lang">
7 <xsd:simpleType>
8 <xsd:restriction base="xsd:string">
9 <xsd:enumeration value="ENG"/>
10 <xsd:enumeration value="FRE"/>
11 </xsd:restriction>
12 </xsd:simpleType>
13 </xsd:element>
14 <xsd:element name="stationinformation">
15 <xsd:complexType>
16 <xsd:sequence>
17 <xsd:element name="name" type="xsd:string"/>
18 <xsd:element name="province" type="xsd:string"/>
19 <xsd:element name="stationoperator" type="xsd:string" minOccurs="0"/>
20 <xsd:element name="latitude" type="xsd:float"/>
21 <xsd:element name="longitude" type="xsd:float"/>
22 <xsd:element name="elevation">
23 <xsd:simpleType>
24 <xsd:union>
25 <xsd:simpleType>
26 <xsd:restriction base="xsd:float"/>
27 </xsd:simpleType>
28 <xsd:simpleType>
29 <xsd:restriction base="xsd:string">
30 <xsd:length value="0"/>
31 </xsd:restriction>
32 </xsd:simpleType>
33 </xsd:union>
34 </xsd:simpleType>
35 </xsd:element>
36 <xsd:element name="climate_identifier" type="xsd:string"/>
37 <xsd:element name="wmo_identifier">
38 <xsd:simpleType>
39 <xsd:union>
40 <xsd:simpleType>
41 <xsd:restriction base="xsd:integer"/>
42 </xsd:simpleType>
43 <xsd:simpleType>
44 <xsd:restriction base="xsd:string">
45 <xsd:length value="0"/>
46 </xsd:restriction>
47 </xsd:simpleType>
48 </xsd:union>
49 </xsd:simpleType>
50 </xsd:element>
51 <xsd:element name="tc_identifier" type="xsd:string"/>
52 </xsd:sequence>
53 </xsd:complexType>
54 </xsd:element>
55 <xsd:element name="legend">
56 <xsd:complexType>
57 <xsd:sequence>
58 <xsd:element name="flag" maxOccurs="unbounded">
59 <xsd:complexType>
60 <xsd:sequence>
61 <xsd:element name="symbol"/>
62 <xsd:element name="description"/>
63 </xsd:sequence>
64 </xsd:complexType>
65 </xsd:element>
66 </xsd:sequence>
67 </xsd:complexType>
68 </xsd:element>
69 <xsd:choice>
70 <xsd:element name="stationdata" maxOccurs="unbounded">
71 <xsd:complexType>
72 <xsd:sequence>
73 <xsd:element name="meanmaxtemp">
74 <xsd:complexType>
75 <xsd:simpleContent>
76 <xsd:extension base="xsd:string">
77 <xsd:attribute name="description" type="xsd:string" use="optional"/>
78 <xsd:attribute name="units" type="xsd:string" use="optional"/>
79 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
80 </xsd:extension>
81 </xsd:simpleContent>
82 </xsd:complexType>
83 </xsd:element>
84 <xsd:element name="meanmintemp">
85 <xsd:complexType>
86 <xsd:simpleContent>
87 <xsd:extension base="xsd:string">
88 <xsd:attribute name="description" type="xsd:string" use="optional"/>
89 <xsd:attribute name="units" type="xsd:string" use="optional"/>
90 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
91 </xsd:extension>
92 </xsd:simpleContent>
93 </xsd:complexType>
94 </xsd:element>
95 <xsd:element name="meanmonthtemp">
96 <xsd:complexType>
97 <xsd:simpleContent>
98 <xsd:extension base="xsd:string">
99 <xsd:attribute name="description" type="xsd:string" use="optional"/>
100 <xsd:attribute name="units" type="xsd:string" use="optional"/>
101 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
102 </xsd:extension>
103 </xsd:simpleContent>
104 </xsd:complexType>
105 </xsd:element>
106 <xsd:element name="extrmaxtemp">
107 <xsd:complexType>
108 <xsd:simpleContent>
109 <xsd:extension base="xsd:string">
110 <xsd:attribute name="description" type="xsd:string" use="optional"/>
111 <xsd:attribute name="units" type="xsd:string" use="optional"/>
112 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
113 </xsd:extension>
114 </xsd:simpleContent>
115 </xsd:complexType>
116 </xsd:element>
117 <xsd:element name="extrmintemp">
118 <xsd:complexType>
119 <xsd:simpleContent>
120 <xsd:extension base="xsd:string">
121 <xsd:attribute name="description" type="xsd:string" use="optional"/>
122 <xsd:attribute name="units" type="xsd:string" use="optional"/>
123 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
124 </xsd:extension>
125 </xsd:simpleContent>
126 </xsd:complexType>
127 </xsd:element>
128 <xsd:element name="totrain">
129 <xsd:complexType>
130 <xsd:simpleContent>
131 <xsd:extension base="xsd:string">
132 <xsd:attribute name="description" type="xsd:string" use="optional"/>
133 <xsd:attribute name="units" type="xsd:string" use="optional"/>
134 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
135 </xsd:extension>
136 </xsd:simpleContent>
137 </xsd:complexType>
138 </xsd:element>
139 <xsd:element name="totsnow">
140 <xsd:complexType>
141 <xsd:simpleContent>
142 <xsd:extension base="xsd:string">
143 <xsd:attribute name="description" type="xsd:string" use="optional"/>
144 <xsd:attribute name="units" type="xsd:string" use="optional"/>
145 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
146 </xsd:extension>
147 </xsd:simpleContent>
148 </xsd:complexType>
149 </xsd:element>
150 <xsd:element name="snowonground" minOccurs="0">
151 <xsd:complexType>
152 <xsd:simpleContent>
153 <xsd:extension base="xsd:string">
154 <xsd:attribute name="description" type="xsd:string" use="optional"/>
155 <xsd:attribute name="units" type="xsd:string" use="optional"/>
156 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
157 </xsd:extension>
158 </xsd:simpleContent>
159 </xsd:complexType>
160 </xsd:element>
161 <xsd:element name="totprecip">
162 <xsd:complexType>
163 <xsd:simpleContent>
164 <xsd:extension base="xsd:string">
165 <xsd:attribute name="description" type="xsd:string" use="optional"/>
166 <xsd:attribute name="units" type="xsd:string" use="optional"/>
167 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
168 </xsd:extension>
169 </xsd:simpleContent>
170 </xsd:complexType>
171 </xsd:element>
172 <xsd:element name="grndsnowlastday">
173 <xsd:complexType>
174 <xsd:simpleContent>
175 <xsd:extension base="xsd:string">
176 <xsd:attribute name="description" type="xsd:string" use="optional"/>
177 <xsd:attribute name="units" type="xsd:string" use="optional"/>
178 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
179 </xsd:extension>
180 </xsd:simpleContent>
181 </xsd:complexType>
182 </xsd:element>
183 <xsd:element name="dirmaxgust">
184 <xsd:complexType>
185 <xsd:simpleContent>
186 <xsd:extension base="xsd:string">
187 <xsd:attribute name="description" type="xsd:string" use="optional"/>
188 <xsd:attribute name="units" type="xsd:string" use="optional"/>
189 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
190 </xsd:extension>
191 </xsd:simpleContent>
192 </xsd:complexType>
193 </xsd:element>
194 <xsd:element name="speedmaxgust">
195 <xsd:complexType>
196 <xsd:simpleContent>
197 <xsd:extension base="xsd:string">
198 <xsd:attribute name="description" type="xsd:string" use="optional"/>
199 <xsd:attribute name="units" type="xsd:string" use="optional"/>
200 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
201 </xsd:extension>
202 </xsd:simpleContent>
203 </xsd:complexType>
204 </xsd:element>
205 </xsd:sequence>
206 <xsd:attribute name="day" type="xsd:string" use="optional"/>
207 <xsd:attribute name="month" type="xsd:string" use="required"/>
208 <xsd:attribute name="year" type="xsd:string" use="required"/>
209 </xsd:complexType>
210 </xsd:element>
211 <xsd:element name="month" maxOccurs="unbounded">
212 <xsd:complexType>
213 <xsd:sequence>
214 <xsd:element name="day" minOccurs="0" maxOccurs="unbounded">
215 <xsd:complexType>
216 <xsd:sequence>
217 <xsd:element name="temperature" maxOccurs="unbounded">
218 <xsd:complexType>
219 <xsd:simpleContent>
220 <xsd:extension base="xsd:string">
221 <xsd:attribute name="class" type="xsd:string" use="optional"/>
222 <xsd:attribute name="units" type="xsd:string" use="optional"/>
223 <xsd:attribute name="unitType" type="xsd:string" use="optional"/>
224 <xsd:attribute name="year" type="xsd:string" use="optional"/>
225 <xsd:attribute name="period" type="xsd:string" use="optional"/>
226 <xsd:attribute name="quality" type="xsd:string" use="optional"/>
227 </xsd:extension>
228 </xsd:simpleContent>
229 </xsd:complexType>
230 </xsd:element>
231 <xsd:element name="precipitation" maxOccurs="unbounded">
232 <xsd:complexType>
233 <xsd:simpleContent>
234 <xsd:extension base="xsd:string">
235 <xsd:attribute name="class" type="xsd:string" use="optional"/>
236 <xsd:attribute name="units" type="xsd:string" use="optional"/>
237 <xsd:attribute name="unitType" type="xsd:string" use="optional"/>
238 <xsd:attribute name="year" type="xsd:string" use="optional"/>
239 <xsd:attribute name="period" type="xsd:string" use="optional"/>
240 <xsd:attribute name="quality" type="xsd:string" use="optional"/>
241 </xsd:extension>
242 </xsd:simpleContent>
243 </xsd:complexType>
244 </xsd:element>
245 <xsd:element name="pop">
246 <xsd:complexType>
247 <xsd:simpleContent>
248 <xsd:extension base="xsd:string">
249 <xsd:attribute name="units" type="xsd:string" use="optional"/>
250 </xsd:extension>
251 </xsd:simpleContent>
252 </xsd:complexType>
253 </xsd:element>
254 </xsd:sequence>
255 <xsd:attribute name="index" type="xsd:integer" use="required"/>
256 </xsd:complexType>
257 </xsd:element>
258 </xsd:sequence>
259 <xsd:attribute name="index" type="xsd:integer" use="required"/>
260 </xsd:complexType>
261 </xsd:element>
262 </xsd:choice>
263 </xsd:sequence>
264 </xsd:complexType>
265 </xsd:element>
266 </xsd:schema>