1 <?xml version=
"1.0" encoding=
"utf-8"?>
2 <!-- This schema is required to validate Environment and Climate Change Canada
3 historical data prior of its import into Wikidata.
5 All tests done in ECCC's bulkschema.xsd aren't replicated here as we're
6 focusing into pure Wikimedia Commons data quality -->
7 <xsd:schema xmlns:
xsd=
"http://www.w3.org/2001/XMLSchema">
8 <!-- Define elements -->
9 <xsd:element name=
"climatedata">
12 <xsd:element ref=
"lang" minOccurs=
"1" maxOccurs=
"1" />
13 <xsd:element ref=
"stationinformation" minOccurs=
"1" maxOccurs=
"1" />
14 <xsd:element ref=
"legend" minOccurs=
"1" maxOccurs=
"1" />
15 <xsd:element ref=
"stationdata" minOccurs=
"1" maxOccurs=
"unbounded" />
20 <xsd:element name=
"lang">
22 <xsd:restriction base=
"xsd:string">
24 <xsd:documentation xml:
lang=
"en">For consistency reasons in names and numeric formats, we enforce import of English files in Commons.
27 <xsd:enumeration value=
"ENG" />
32 <xsd:element name=
"stationinformation">
35 <xsd:element ref=
"name" minOccurs=
"1" maxOccurs=
"1" />
36 <xsd:element ref=
"province" minOccurs=
"1" maxOccurs=
"1" />
37 <xsd:element ref=
"stationoperator" minOccurs=
"0" maxOccurs=
"1" />
38 <xsd:element ref=
"latitude" minOccurs=
"1" maxOccurs=
"1" />
39 <xsd:element ref=
"longitude" minOccurs=
"1" maxOccurs=
"1" />
40 <xsd:element ref=
"elevation" minOccurs=
"1" maxOccurs=
"1" />
41 <xsd:element ref=
"climate_identifier" minOccurs=
"1" maxOccurs=
"1" />
42 <xsd:element ref=
"wmo_identifier" minOccurs=
"1" maxOccurs=
"1" />
43 <xsd:element ref=
"tc_identifier" minOccurs=
"1" maxOccurs=
"1" />
48 <xsd:element name=
"name">
50 <xsd:restriction base=
"xsd:string">
51 <xsd:pattern value=
"[0-9A-Z '().#,\-/&]+" />
56 <xsd:element name=
"province">
58 <xsd:restriction base=
"xsd:string">
59 <xsd:enumeration value=
"ALBERTA" />
60 <xsd:enumeration value=
"BRITISH COLUMBIA" />
61 <xsd:enumeration value=
"QUEBEC" />
62 <xsd:enumeration value=
"MANITOBA" />
63 <xsd:enumeration value=
"NEW BRUNSWICK" />
64 <xsd:enumeration value=
"NEWFOUNDLAND" />
65 <xsd:enumeration value=
"NORTHWEST TERRITORIES" />
66 <xsd:enumeration value=
"NOVA SCOTIA" />
67 <xsd:enumeration value=
"NUNAVUT" />
68 <xsd:enumeration value=
"ONTARIO" />
69 <xsd:enumeration value=
"PRINCE EDWARD ISLAND" />
70 <xsd:enumeration value=
"SASKATCHEWAN" />
71 <xsd:enumeration value=
"YUKON TERRITORY" />
76 <xsd:element name=
"stationoperator">
78 <xsd:restriction base=
"xsd:string">
79 <xsd:pattern value=
"[A-Za-z -]+" />
84 <xsd:element name=
"latitude">
86 <xsd:union memberTypes=
"zero">
88 <xsd:documentation xml:
lang=
"en">WARNING: latitude can be zero
92 <xsd:restriction base=
"xsd:float">
93 <xsd:minInclusive value=
"41.6" />
94 <xsd:maxInclusive value=
"83.2" />
99 <xsd:documentation xml:
lang=
"en">WARNING: en_climate_monthly_NB_8104200_1872-
1952_P1M.xml is in Russia
102 <xsd:restriction base=
"xsd:float">
103 <xsd:enumeration value=
"45.07" />
110 <xsd:element name=
"longitude">
112 <xsd:union memberTypes=
"zero">
114 <xsd:documentation xml:
lang=
"en">WARNING: longitude can be zero
118 <xsd:restriction base=
"xsd:float">
119 <xsd:minInclusive value=
"-141.0" />
120 <xsd:maxInclusive value=
"-52.0" />
125 <xsd:documentation xml:
lang=
"en">WARNING: en_climate_monthly_NB_8104200_1872-
1952_P1M.xml is in Russia
128 <xsd:restriction base=
"xsd:float">
129 <xsd:enumeration value=
"66.47" />
136 <xsd:element name=
"elevation">
138 <xsd:union memberTypes=
"empty">
140 <xsd:restriction base=
"xsd:float">
141 <xsd:minInclusive value=
"0.0" />
142 <xsd:maxInclusive value=
"2926.1" />
149 <xsd:element name=
"climate_identifier">
151 <xsd:restriction base=
"xsd:string">
152 <xsd:pattern value=
"[0-9A-Z]+" />
157 <xsd:element name=
"wmo_identifier">
159 <xsd:union memberTypes=
"empty">
161 <xsd:restriction base=
"xsd:nonNegativeInteger" />
167 <xsd:element name=
"tc_identifier">
169 <xsd:union memberTypes=
"empty">
171 <xsd:restriction base=
"xsd:string">
172 <xsd:pattern value=
"[A-Z0-9]{3}" />
179 <xsd:element name=
"legend">
182 <xsd:element ref=
"flag" minOccurs=
"1" maxOccurs=
"unbounded" />
187 <xsd:element name=
"flag">
190 <xsd:element ref=
"symbol" minOccurs=
"1" maxOccurs=
"1" />
191 <xsd:element ref=
"description" minOccurs=
"1" maxOccurs=
"1" />
196 <xsd:element name=
"symbol">
200 <xsd:restriction base=
"xsd:string">
201 <xsd:length value=
"1" />
205 <xsd:restriction base=
"xsd:string">
206 <xsd:enumeration value=
"[empty]">
208 <xsd:documentation xml:
lang=
"en">[empty] is an allowed value
218 <xsd:element name=
"description" type=
"xsd:anyType" />
220 <xsd:element name=
"stationdata">
223 <xsd:element ref=
"meanmaxtemp" minOccurs=
"1" maxOccurs=
"1" />
224 <xsd:element ref=
"meanmintemp" minOccurs=
"1" maxOccurs=
"1" />
225 <xsd:element ref=
"meanmonthtemp" minOccurs=
"1" maxOccurs=
"1" />
226 <xsd:element ref=
"extrmaxtemp" minOccurs=
"1" maxOccurs=
"1" />
227 <xsd:element ref=
"extrmintemp" minOccurs=
"1" maxOccurs=
"1" />
228 <xsd:element ref=
"totrain" minOccurs=
"1" maxOccurs=
"1" />
229 <xsd:element ref=
"totsnow" minOccurs=
"1" maxOccurs=
"1" />
230 <xsd:element ref=
"totprecip" minOccurs=
"1" maxOccurs=
"1" />
231 <xsd:element ref=
"grndsnowlastday" minOccurs=
"1" maxOccurs=
"1" />
232 <xsd:element ref=
"dirmaxgust" minOccurs=
"1" maxOccurs=
"1" />
233 <xsd:element ref=
"speedmaxgust" minOccurs=
"1" maxOccurs=
"1" />
235 <xsd:attributeGroup ref=
"attrgroup-stationdata" />
239 <xsd:element name=
"meanmaxtemp">
242 <xsd:extension base=
"meanmaxtemp-values">
243 <xsd:attributeGroup ref=
"attrgroup-meanmaxtemp" />
249 <xsd:element name=
"meanmintemp">
252 <xsd:extension base=
"meanmintemp-values">
253 <xsd:attributeGroup ref=
"attrgroup-meanmintemp" />
259 <xsd:element name=
"meanmonthtemp">
262 <xsd:extension base=
"meanmonthtemp-values">
263 <xsd:attributeGroup ref=
"attrgroup-meanmonthtemp" />
269 <xsd:element name=
"extrmaxtemp">
272 <xsd:extension base=
"extrmaxtemp-values">
273 <xsd:attributeGroup ref=
"attrgroup-extrmaxtemp" />
279 <xsd:element name=
"extrmintemp">
282 <xsd:extension base=
"extrmintemp-values">
283 <xsd:attributeGroup ref=
"attrgroup-extrmintemp" />
289 <xsd:element name=
"totrain">
292 <xsd:extension base=
"total-rain-values">
293 <xsd:attributeGroup ref=
"attrgroup-totrain" />
299 <xsd:element name=
"totsnow">
302 <xsd:extension base=
"total-snow-values">
303 <xsd:attributeGroup ref=
"attrgroup-totsnow" />
309 <xsd:element name=
"totprecip">
312 <xsd:extension base=
"total-precipitation-values">
313 <xsd:attributeGroup ref=
"attrgroup-totprecipitation" />
319 <xsd:element name=
"grndsnowlastday">
322 <xsd:extension base=
"total-grndsnowlastday">
323 <xsd:attributeGroup ref=
"attrgroup-grndsnowlastday" />
329 <xsd:element name=
"dirmaxgust">
332 <xsd:extension base=
"total-dirmaxgust">
333 <xsd:attributeGroup ref=
"attrgroup-dirmaxgust" />
339 <xsd:element name=
"speedmaxgust">
342 <xsd:extension base=
"total-speedmaxgust">
343 <xsd:attributeGroup ref=
"attrgroup-speedmaxgust" />
349 <!-- Define attributes -->
350 <xsd:attribute name=
"flag">
352 <xsd:documentation xml:
lang=
"en">flag attribute has only one value
356 <xsd:restriction base=
"xsd:string">
357 <xsd:length value=
"1" />
362 <!-- Define groups -->
364 <!-- Define attributes groups -->
365 <xsd:attributeGroup name=
"attrgroup-stationdata">
366 <xsd:attribute name=
"month" use=
"required">
368 <xsd:restriction base=
"xsd:integer">
369 <xsd:minInclusive value=
"1" />
370 <xsd:maxInclusive value=
"12" />
374 <xsd:attribute name=
"year" use=
"required">
376 <xsd:restriction base=
"xsd:integer">
377 <xsd:minInclusive value=
"1840" />
378 <xsd:maxInclusive value=
"2019" />
382 </xsd:attributeGroup>
384 <xsd:attributeGroup name=
"attrgroup-meanmaxtemp">
385 <xsd:attribute name=
"units" use=
"required">
387 <xsd:restriction base=
"xsd:string">
389 <xsd:documentation xml:
lang=
"en">meanmaxtemp must be provided in °C.
392 <xsd:enumeration value=
"°C" />
396 <xsd:attribute name=
"description" use=
"optional" />
397 <xsd:attribute name=
"flag">
399 <xsd:restriction base=
"xsd:string">
401 <xsd:documentation xml:
lang=
"en">meanmaxtemp flag can be E I or M only.
404 <xsd:enumeration value=
"E" />
405 <xsd:enumeration value=
"I" />
406 <xsd:enumeration value=
"M" />
410 </xsd:attributeGroup>
412 <xsd:attributeGroup name=
"attrgroup-meanmintemp">
413 <xsd:attribute name=
"units" use=
"required">
415 <xsd:restriction base=
"xsd:string">
417 <xsd:documentation xml:
lang=
"en">meanmintemp must be provided in °C.
420 <xsd:enumeration value=
"°C" />
424 <xsd:attribute name=
"description" use=
"optional" />
425 <xsd:attribute name=
"flag">
427 <xsd:restriction base=
"xsd:string">
429 <xsd:documentation xml:
lang=
"en">meanmintemp flag can be E I or M only.
432 <xsd:enumeration value=
"E" />
433 <xsd:enumeration value=
"I" />
434 <xsd:enumeration value=
"M" />
438 </xsd:attributeGroup>
440 <xsd:attributeGroup name=
"attrgroup-meanmonthtemp">
441 <xsd:attribute name=
"units" use=
"required">
443 <xsd:restriction base=
"xsd:string">
445 <xsd:documentation xml:
lang=
"en">meanmonthtemp must be provided in °C.
448 <xsd:enumeration value=
"°C" />
452 <xsd:attribute name=
"description" use=
"optional" />
453 <xsd:attribute name=
"flag">
455 <xsd:restriction base=
"xsd:string">
457 <xsd:documentation xml:
lang=
"en">meanmonthtemp flag can be E I or M only.
460 <xsd:enumeration value=
"E" />
461 <xsd:enumeration value=
"I" />
462 <xsd:enumeration value=
"M" />
466 </xsd:attributeGroup>
468 <xsd:attributeGroup name=
"attrgroup-extrmaxtemp">
469 <xsd:attribute name=
"units" use=
"required">
471 <xsd:restriction base=
"xsd:string">
473 <xsd:documentation xml:
lang=
"en">extrmaxtemp must be provided in °C.
476 <xsd:enumeration value=
"°C" />
480 <xsd:attribute name=
"description" use=
"optional" />
481 <xsd:attribute name=
"flag">
483 <xsd:restriction base=
"xsd:string">
485 <xsd:documentation xml:
lang=
"en">extrmaxtemp flag can be B E I M or S only.
488 <xsd:enumeration value=
"B" />
489 <xsd:enumeration value=
"E" />
490 <xsd:enumeration value=
"I" />
491 <xsd:enumeration value=
"M" />
492 <xsd:enumeration value=
"S" />
496 </xsd:attributeGroup>
498 <xsd:attributeGroup name=
"attrgroup-extrmintemp">
499 <xsd:attribute name=
"units" use=
"required">
501 <xsd:restriction base=
"xsd:string">
503 <xsd:documentation xml:
lang=
"en">extrmintemp must be provided in °C.
506 <xsd:enumeration value=
"°C" />
510 <xsd:attribute name=
"description" use=
"optional" />
511 <xsd:attribute name=
"flag">
513 <xsd:restriction base=
"xsd:string">
515 <xsd:documentation xml:
lang=
"en">extrmintemp flag can be B E I M or S only.
518 <xsd:enumeration value=
"B" />
519 <xsd:enumeration value=
"E" />
520 <xsd:enumeration value=
"I" />
521 <xsd:enumeration value=
"M" />
522 <xsd:enumeration value=
"S" />
526 </xsd:attributeGroup>
528 <xsd:attributeGroup name=
"attrgroup-totrain">
529 <xsd:attribute name=
"units" use=
"required">
531 <xsd:restriction base=
"xsd:string">
533 <xsd:documentation xml:
lang=
"en">totrain unit must be provided in mm.
536 <xsd:enumeration value=
"mm" />
540 <xsd:attribute name=
"description" use=
"optional" />
541 <xsd:attribute name=
"flag">
543 <xsd:restriction base=
"xsd:string">
545 <xsd:documentation xml:
lang=
"en">totrain flag can be E I M or T only.
548 <xsd:enumeration value=
"E" />
549 <xsd:enumeration value=
"I" />
550 <xsd:enumeration value=
"M" />
551 <xsd:enumeration value=
"T" />
555 </xsd:attributeGroup>
557 <xsd:attributeGroup name=
"attrgroup-totsnow">
558 <xsd:attribute name=
"units" use=
"required">
560 <xsd:restriction base=
"xsd:string">
562 <xsd:documentation xml:
lang=
"en">totsnow unit must be provided in cm.
565 <xsd:enumeration value=
"cm" />
569 <xsd:attribute name=
"description" use=
"optional" />
570 <xsd:attribute name=
"flag">
572 <xsd:restriction base=
"xsd:string">
574 <xsd:documentation xml:
lang=
"en">totrain flag can be E I M or T only.
577 <xsd:enumeration value=
"E" />
578 <xsd:enumeration value=
"I" />
579 <xsd:enumeration value=
"M" />
580 <xsd:enumeration value=
"T" />
584 </xsd:attributeGroup>
586 <xsd:attributeGroup name=
"attrgroup-totprecipitation">
587 <xsd:attribute name=
"units" use=
"required">
589 <xsd:restriction base=
"xsd:string">
591 <xsd:documentation xml:
lang=
"en">totprecip unit must be provided in mm.
594 <xsd:enumeration value=
"mm" />
598 <xsd:attribute name=
"description" use=
"optional" />
599 <xsd:attribute name=
"flag">
601 <xsd:restriction base=
"xsd:string">
603 <xsd:documentation xml:
lang=
"en">totprecip flag can be E I M or T only.
606 <xsd:enumeration value=
"E" />
607 <xsd:enumeration value=
"I" />
608 <xsd:enumeration value=
"M" />
609 <xsd:enumeration value=
"T" />
613 </xsd:attributeGroup>
615 <xsd:attributeGroup name=
"attrgroup-grndsnowlastday">
616 <xsd:attribute name=
"units" use=
"required">
618 <xsd:restriction base=
"xsd:string">
620 <xsd:documentation xml:
lang=
"en">grndsnowlastday unit must be provided in cm.
623 <xsd:enumeration value=
"cm" />
627 <xsd:attribute name=
"description" use=
"optional" />
628 <xsd:attribute name=
"flag">
630 <xsd:restriction base=
"xsd:string">
632 <xsd:documentation xml:
lang=
"en">grndsnowlastday flag can be E M or T only.
635 <xsd:enumeration value=
"E" />
636 <xsd:enumeration value=
"M" />
637 <xsd:enumeration value=
"T" />
641 </xsd:attributeGroup>
643 <xsd:attributeGroup name=
"attrgroup-dirmaxgust">
644 <xsd:attribute name=
"units" use=
"required">
646 <xsd:restriction base=
"xsd:string">
648 <xsd:documentation xml:
lang=
"en">dirmaxgust unit must be provided in
10's Deg.
651 <xsd:enumeration value=
"10's Deg" />
655 <xsd:attribute name=
"description" use=
"optional" />
656 <xsd:attribute name=
"flag">
658 <xsd:restriction base=
"xsd:string">
660 <xsd:documentation xml:
lang=
"en">dirmaxgust flag can be B E I M or S only.
663 <xsd:enumeration value=
"B" />
664 <xsd:enumeration value=
"E" />
665 <xsd:enumeration value=
"I" />
666 <xsd:enumeration value=
"M" />
667 <xsd:enumeration value=
"S" />
671 </xsd:attributeGroup>
673 <xsd:attributeGroup name=
"attrgroup-speedmaxgust">
674 <xsd:attribute name=
"units" use=
"required">
676 <xsd:restriction base=
"xsd:string">
678 <xsd:documentation xml:
lang=
"en">speedmaxgust unit must be provided in km/h.
681 <xsd:enumeration value=
"km/h"/>
685 <xsd:attribute name=
"description" use=
"optional" />
686 <xsd:attribute name=
"flag">
688 <xsd:restriction base=
"xsd:string">
690 <xsd:documentation xml:
lang=
"en">speedmaxgust flag can be B E I M or S only.
693 <xsd:enumeration value=
"B" />
694 <xsd:enumeration value=
"E" />
695 <xsd:enumeration value=
"I" />
696 <xsd:enumeration value=
"M" />
697 <xsd:enumeration value=
"S" />
701 </xsd:attributeGroup>
703 <!-- Define types -->
704 <xsd:simpleType name=
"meanmaxtemp-values">
705 <xsd:union memberTypes=
"empty">
707 <xsd:restriction base=
"xsd:float">
708 <xsd:minInclusive value=
"-45.6" />
709 <xsd:maxInclusive value=
"35.8">
711 <xsd:documentation xml:
lang=
"en">Max value is currently
19.3.
720 <xsd:simpleType name=
"meanmintemp-values">
721 <xsd:union memberTypes=
"empty">
723 <xsd:restriction base=
"xsd:float">
724 <xsd:minInclusive value=
"-50.1" />
725 <xsd:maxInclusive value=
"22.3">
727 <xsd:documentation xml:
lang=
"en">Max value is currently
22.3.
736 <xsd:simpleType name=
"meanmonthtemp-values">
737 <xsd:union memberTypes=
"empty">
739 <xsd:restriction base=
"xsd:float">
740 <xsd:minInclusive value=
"-47.9" />
741 <xsd:maxInclusive value=
"27.2">
743 <xsd:documentation xml:
lang=
"en">Max value is currently
27.2.
752 <xsd:simpleType name=
"extrmaxtemp-values">
753 <xsd:union memberTypes=
"empty">
755 <xsd:restriction base=
"xsd:float">
756 <xsd:minInclusive value=
"-40.0" />
757 <xsd:maxInclusive value=
"45.0">
759 <xsd:documentation xml:
lang=
"en">Max value is currently
45.0.
768 <xsd:simpleType name=
"extrmintemp-values">
769 <xsd:union memberTypes=
"empty">
771 <xsd:restriction base=
"xsd:float">
772 <xsd:minInclusive value=
"-63" />
773 <xsd:maxInclusive value=
"37.3">
775 <xsd:documentation xml:
lang=
"en">Max value is currently
37.3.
784 <xsd:simpleType name=
"total-rain-values">
785 <xsd:union memberTypes=
"sharps empty">
787 <xsd:documentation xml:
lang=
"en">WARNING:
788 17/monthly/en_climate_monthly_BC_1010720_1910-
1971_P1M.xml:
32:
616122
789 Contains only sharps instead of a float or empty content
793 <xsd:restriction base=
"xsd:float">
794 <xsd:minInclusive value=
"0" />
795 <xsd:maxInclusive value=
"999.5">
797 <xsd:documentation xml:
lang=
"en">TBD: Max value is currently
999.2.
798 Is it expected? Looks high and arbitrary cut at
1000.
807 <xsd:simpleType name=
"total-snow-values">
808 <xsd:union memberTypes=
"empty">
810 <xsd:documentation xml:
lang=
"en">No value is allowed
814 <xsd:restriction base=
"xsd:float">
815 <xsd:minInclusive value=
"-15.1">
817 <xsd:documentation xml:
lang=
"en">WARNING:
818 monthly/
3953/en_climate_monthly_ON_6032119_1970-
2004_P1M.xml:
32:
261659
819 Has negative totsnow value (-
15.1)
823 <xsd:maxInclusive value=
"726">
825 <xsd:documentation xml:
lang=
"en">Max value is currently
725.9.
834 <xsd:simpleType name=
"total-precipitation-values">
835 <xsd:union memberTypes=
"sharps empty">
837 <xsd:documentation xml:
lang=
"en">WARNING:
838 17/monthly/en_climate_monthly_BC_1010720_1910-
1971_P1M.xml:
32:
73731
839 Contains only sharps instead of a float or empty content
843 <xsd:restriction base=
"xsd:float">
844 <xsd:minInclusive value=
"0">
846 <xsd:documentation xml:
lang=
"en">No negative precipitation value allowed.
850 <xsd:maxInclusive value=
"999.5">
852 <xsd:documentation xml:
lang=
"en">Max value is currently
999.2.
853 Is it expected? Looks high and arbitrary cut at
1000.
862 <xsd:simpleType name=
"total-grndsnowlastday">
863 <xsd:union memberTypes=
"empty">
865 <xsd:documentation xml:
lang=
"en">No value is allowed
869 <xsd:restriction base=
"xsd:integer">
870 <xsd:minInclusive value=
"0">
872 <xsd:documentation xml:
lang=
"en">No negative precipitation value allowed.
876 <xsd:maxInclusive value=
"955">
878 <xsd:documentation xml:
lang=
"en">Max value is currently
955.
879 Is it expected? Looks high and arbitrary cut at
1000.
888 <xsd:simpleType name=
"total-dirmaxgust">
889 <xsd:union memberTypes=
"empty">
891 <xsd:documentation xml:
lang=
"en">No value is allowed
895 <xsd:restriction base=
"xsd:integer">
896 <xsd:minInclusive value=
"0">
898 <xsd:documentation xml:
lang=
"en">No negative orientation value allowed. Value of
0 is allowed
902 <xsd:maxInclusive value=
"36">
904 <xsd:documentation xml:
lang=
"en">WARNING: Value of
36 is allowed.
913 <xsd:simpleType name=
"total-speedmaxgust">
914 <xsd:union memberTypes=
"lt31 empty">
916 <xsd:documentation xml:
lang=
"en">No value is allowed
920 <xsd:restriction base=
"xsd:integer">
921 <xsd:minInclusive value=
"0">
923 <xsd:documentation xml:
lang=
"en">No negative speed allowed.
927 <xsd:maxInclusive value=
"467">
929 <xsd:documentation xml:
lang=
"en">WARNING: Max value is currently
467.
939 <xsd:simpleType name=
"empty">
940 <xsd:restriction base=
"xsd:string">
941 <xsd:length value=
"0" />
945 <xsd:simpleType name=
"zero">
946 <xsd:restriction base=
"xsd:float">
947 <xsd:enumeration value=
"0.0" />
951 <xsd:simpleType name=
"sharps">
952 <xsd:restriction base=
"xsd:string">
953 <xsd:pattern value=
"#+" />
957 <xsd:simpleType name=
"lt31">
958 <xsd:restriction base=
"xsd:string">
959 <xsd:pattern value=
"<31" />