]> Wikimedia Canada | Git repositories - eccc_schema.git/blob - bulkschema.xsd
Fix the schema to validate all the monthly files
[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:element name="stationdata" maxOccurs="unbounded">
70 <xsd:complexType>
71 <xsd:sequence>
72 <xsd:element name="meanmaxtemp">
73 <xsd:complexType>
74 <xsd:simpleContent>
75 <xsd:extension base="xsd:string">
76 <xsd:attribute name="description" type="xsd:string" use="optional"/>
77 <xsd:attribute name="units" type="xsd:string" use="optional"/>
78 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
79 </xsd:extension>
80 </xsd:simpleContent>
81 </xsd:complexType>
82 </xsd:element>
83 <xsd:element name="meanmintemp">
84 <xsd:complexType>
85 <xsd:simpleContent>
86 <xsd:extension base="xsd:string">
87 <xsd:attribute name="description" type="xsd:string" use="optional"/>
88 <xsd:attribute name="units" type="xsd:string" use="optional"/>
89 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
90 </xsd:extension>
91 </xsd:simpleContent>
92 </xsd:complexType>
93 </xsd:element>
94 <xsd:element name="meanmonthtemp">
95 <xsd:complexType>
96 <xsd:simpleContent>
97 <xsd:extension base="xsd:string">
98 <xsd:attribute name="description" type="xsd:string" use="optional"/>
99 <xsd:attribute name="units" type="xsd:string" use="optional"/>
100 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
101 </xsd:extension>
102 </xsd:simpleContent>
103 </xsd:complexType>
104 </xsd:element>
105 <xsd:element name="extrmaxtemp">
106 <xsd:complexType>
107 <xsd:simpleContent>
108 <xsd:extension base="xsd:string">
109 <xsd:attribute name="description" type="xsd:string" use="optional"/>
110 <xsd:attribute name="units" type="xsd:string" use="optional"/>
111 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
112 </xsd:extension>
113 </xsd:simpleContent>
114 </xsd:complexType>
115 </xsd:element>
116 <xsd:element name="extrmintemp">
117 <xsd:complexType>
118 <xsd:simpleContent>
119 <xsd:extension base="xsd:string">
120 <xsd:attribute name="description" type="xsd:string" use="optional"/>
121 <xsd:attribute name="units" type="xsd:string" use="optional"/>
122 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
123 </xsd:extension>
124 </xsd:simpleContent>
125 </xsd:complexType>
126 </xsd:element>
127 <xsd:element name="totrain">
128 <xsd:complexType>
129 <xsd:simpleContent>
130 <xsd:extension base="xsd:string">
131 <xsd:attribute name="description" type="xsd:string" use="optional"/>
132 <xsd:attribute name="units" type="xsd:string" use="optional"/>
133 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
134 </xsd:extension>
135 </xsd:simpleContent>
136 </xsd:complexType>
137 </xsd:element>
138 <xsd:element name="totsnow">
139 <xsd:complexType>
140 <xsd:simpleContent>
141 <xsd:extension base="xsd:string">
142 <xsd:attribute name="description" type="xsd:string" use="optional"/>
143 <xsd:attribute name="units" type="xsd:string" use="optional"/>
144 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
145 </xsd:extension>
146 </xsd:simpleContent>
147 </xsd:complexType>
148 </xsd:element>
149 <xsd:element name="snowonground" minOccurs="0">
150 <xsd:complexType>
151 <xsd:simpleContent>
152 <xsd:extension base="xsd:string">
153 <xsd:attribute name="description" type="xsd:string" use="optional"/>
154 <xsd:attribute name="units" type="xsd:string" use="optional"/>
155 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
156 </xsd:extension>
157 </xsd:simpleContent>
158 </xsd:complexType>
159 </xsd:element>
160 <xsd:element name="totprecip">
161 <xsd:complexType>
162 <xsd:simpleContent>
163 <xsd:extension base="xsd:string">
164 <xsd:attribute name="description" type="xsd:string" use="optional"/>
165 <xsd:attribute name="units" type="xsd:string" use="optional"/>
166 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
167 </xsd:extension>
168 </xsd:simpleContent>
169 </xsd:complexType>
170 </xsd:element>
171 <xsd:element name="grndsnowlastday">
172 <xsd:complexType>
173 <xsd:simpleContent>
174 <xsd:extension base="xsd:string">
175 <xsd:attribute name="description" type="xsd:string" use="optional"/>
176 <xsd:attribute name="units" type="xsd:string" use="optional"/>
177 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
178 </xsd:extension>
179 </xsd:simpleContent>
180 </xsd:complexType>
181 </xsd:element>
182 <xsd:element name="dirmaxgust">
183 <xsd:complexType>
184 <xsd:simpleContent>
185 <xsd:extension base="xsd:string">
186 <xsd:attribute name="description" type="xsd:string" use="optional"/>
187 <xsd:attribute name="units" type="xsd:string" use="optional"/>
188 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
189 </xsd:extension>
190 </xsd:simpleContent>
191 </xsd:complexType>
192 </xsd:element>
193 <xsd:element name="speedmaxgust">
194 <xsd:complexType>
195 <xsd:simpleContent>
196 <xsd:extension base="xsd:string">
197 <xsd:attribute name="description" type="xsd:string" use="optional"/>
198 <xsd:attribute name="units" type="xsd:string" use="optional"/>
199 <xsd:attribute name="flag" type="xsd:string" use="optional"/>
200 </xsd:extension>
201 </xsd:simpleContent>
202 </xsd:complexType>
203 </xsd:element>
204 </xsd:sequence>
205 <xsd:attribute name="day" type="xsd:string" use="optional"/>
206 <xsd:attribute name="month" type="xsd:string" use="required"/>
207 <xsd:attribute name="year" type="xsd:string" use="required"/>
208 </xsd:complexType>
209 </xsd:element>
210 </xsd:sequence>
211 </xsd:complexType>
212 </xsd:element>
213 </xsd:schema>