]> Pierre Choffet | Git repositories - wdef_schemas.git/blob - wdef.xsd
Relax some internal ids required formats
[wdef_schemas.git] / wdef.xsd
1 <?xml version="1.0" encoding="utf-8"?>
2 <!--
3 Schemas required to validate WDEF compatible XML content.
4 Copyright (C) 2020, 2021 Pierre Choffet
5
6 This program is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <https://www.gnu.org/licenses/>.
17 -->
18
19 <xsd:schema xml:lang="en" xmlns:wdef="https://purl.choffet.net/wdef"
20 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
21 targetNamespace="https://purl.choffet.net/wdef" attributeFormDefault="qualified"
22 elementFormDefault="qualified">
23 <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd" />
24
25 <xsd:element name="knowledge">
26 <xsd:annotation>
27 <xsd:documentation>
28 The root of a WDEF content. It can contain one or more element only.
29 </xsd:documentation>
30 </xsd:annotation>
31 <xsd:complexType>
32 <xsd:sequence>
33 <xsd:element ref="wdef:element" minOccurs="0" maxOccurs="unbounded" />
34 </xsd:sequence>
35 </xsd:complexType>
36
37 <xsd:key name="key-element">
38 <xsd:selector xpath="wdef:element" />
39 <xsd:field xpath="@wdef:id" />
40 </xsd:key>
41 </xsd:element>
42
43 <xsd:element name="element">
44 <xsd:annotation>
45 <xsd:documentation>
46 A Wikidata element.
47 </xsd:documentation>
48 </xsd:annotation>
49 <xsd:complexType>
50 <xsd:choice maxOccurs="unbounded">
51 <xsd:element ref="wdef:label" />
52 <xsd:element ref="wdef:description" />
53 <xsd:element ref="wdef:alias" />
54 <xsd:element ref="wdef:property" />
55 </xsd:choice>
56 <xsd:attribute name="id" type="wdef:element-id" use="required" />
57 <xsd:anyAttribute processContents="skip" />
58 </xsd:complexType>
59
60 <xsd:key name="key-property">
61 <xsd:selector xpath="wdef:property" />
62 <xsd:field xpath="@wdef:id" />
63 </xsd:key>
64
65 <xsd:key name="key-value">
66 <xsd:selector xpath="wdef:value" />
67 <xsd:field xpath="@wdef:id" />
68 </xsd:key>
69
70 <xsd:unique name="unique-label-lang">
71 <xsd:selector xpath="wdef:label" />
72 <xsd:field xpath="@interface-lang" />
73 </xsd:unique>
74
75 <xsd:unique name="unique-description-lang">
76 <xsd:selector xpath="wdef:description" />
77 <xsd:field xpath="@interface-lang" />
78 </xsd:unique>
79 </xsd:element>
80
81 <xsd:element name="label" type="wdef:interface-translation" />
82 <xsd:element name="description" type="wdef:interface-translation" />
83 <xsd:element name="alias" type="wdef:translation" />
84
85 <xsd:element name="property">
86 <xsd:annotation>
87 <xsd:documentation>
88 A Wikidata property.
89 </xsd:documentation>
90 </xsd:annotation>
91 <xsd:complexType>
92 <xsd:choice maxOccurs="unbounded">
93 <xsd:element ref="wdef:value" />
94 <xsd:element ref="wdef:novalue" maxOccurs="1" />
95 <xsd:element ref="wdef:somevalue" maxOccurs="1" />
96 </xsd:choice>
97 <xsd:attribute name="id" type="wdef:property-id2" use="required" />
98 <xsd:attribute name="pid" type="wdef:property-id" use="required" />
99 <xsd:anyAttribute processContents="skip" />
100 </xsd:complexType>
101 </xsd:element>
102
103 <xsd:element name="value">
104 <xsd:annotation>
105 <xsd:documentation>
106 A Wikidata value.
107 </xsd:documentation>
108 </xsd:annotation>
109 <xsd:complexType>
110 <xsd:choice maxOccurs="unbounded">
111 <xsd:element ref="wdef:literal" maxOccurs="1" />
112 <xsd:element ref="wdef:ref-element" maxOccurs="1" />
113 <xsd:element ref="wdef:translation" maxOccurs="1" />
114 <xsd:element ref="wdef:quantity" maxOccurs="1" />
115 <xsd:element ref="wdef:time" maxOccurs="1" />
116 <xsd:element ref="wdef:coordinate" maxOccurs="1" />
117 <xsd:element ref="wdef:qualifier" />
118 </xsd:choice>
119 <xsd:attribute name="id" type="wdef:value-id" use="required" />
120 </xsd:complexType>
121 </xsd:element>
122
123 <xsd:element name="literal" type="xsd:normalizedString" />
124
125 <xsd:element name="ref-element" type="wdef:element-id" />
126
127 <xsd:element name="translation" type="wdef:translation" />
128
129 <xsd:element name="quantity">
130 <xsd:complexType>
131 <xsd:simpleContent>
132 <xsd:extension base="xsd:decimal">
133 <xsd:attribute name="unit" type="wdef:element-id" use="required" />
134 </xsd:extension>
135 </xsd:simpleContent>
136 </xsd:complexType>
137 </xsd:element>
138
139 <xsd:element name="time">
140 <xsd:complexType>
141 <xsd:simpleContent>
142 <xsd:extension base="wdef:date-time">
143 <xsd:attribute name="precision" use="required">
144 <xsd:simpleType>
145 <xsd:restriction base="xsd:positiveInteger">
146 <xsd:maxInclusive value="14" />
147 </xsd:restriction>
148 </xsd:simpleType>
149 </xsd:attribute>
150 <xsd:attribute name="calendar" use="required">
151 <xsd:simpleType>
152 <xsd:restriction base="xsd:normalizedString">
153 <xsd:enumeration value="julian" />
154 <xsd:enumeration value="gregorian" />
155 </xsd:restriction>
156 </xsd:simpleType>
157 </xsd:attribute>
158 </xsd:extension>
159 </xsd:simpleContent>
160 </xsd:complexType>
161 </xsd:element>
162
163 <xsd:element name="coordinate">
164 <xsd:complexType>
165 <xsd:all maxOccurs="1">
166 <xsd:element ref="wdef:ref-element" />
167 </xsd:all>
168 <xsd:attribute name="latitude" use="required">
169 <xsd:simpleType>
170 <xsd:restriction base="xsd:float">
171 <xsd:minInclusive value="-90" />
172 <xsd:maxInclusive value="90" />
173 </xsd:restriction>
174 </xsd:simpleType>
175 </xsd:attribute>
176 <xsd:attribute name="longitude" use="required">
177 <xsd:simpleType>
178 <xsd:restriction base="xsd:float">
179 <xsd:minInclusive value="-180" />
180 <xsd:maxInclusive value="180" />
181 </xsd:restriction>
182 </xsd:simpleType>
183 </xsd:attribute>
184 <xsd:attribute name="precision" use="required">
185 <xsd:simpleType>
186 <xsd:restriction base="xsd:float">
187 <xsd:minExclusive value="0" />
188 <xsd:maxInclusive value="1" />
189 </xsd:restriction>
190 </xsd:simpleType>
191 </xsd:attribute>
192 </xsd:complexType>
193 </xsd:element>
194
195 <xsd:element name="novalue">
196 <xsd:complexType>
197 <xsd:choice maxOccurs="unbounded">
198 <xsd:element ref="wdef:qualifier" />
199 </xsd:choice>
200 <xsd:attribute name="id" type="wdef:value-id" use="required" />
201 </xsd:complexType>
202 </xsd:element>
203
204 <xsd:element name="somevalue">
205 <xsd:complexType />
206 </xsd:element>
207
208 <xsd:element name="qualifier">
209 <xsd:complexType>
210 <xsd:all>
211 <xsd:element ref="wdef:property" />
212 </xsd:all>
213 <xsd:anyAttribute processContents="skip" />
214 </xsd:complexType>
215 </xsd:element>
216
217 <!-- Attributes groups -->
218
219 <!-- Types -->
220 <xsd:complexType name="interface-translation">
221 <xsd:simpleContent>
222 <xsd:extension base="wdef:non-empty-normalized-string">
223 <xsd:attribute name="interface-lang" use="required">
224 <xsd:simpleType>
225 <xsd:restriction base="xsd:normalizedString">
226 <xsd:enumeration value="aa" />
227 <xsd:enumeration value="ab" />
228 <xsd:enumeration value="abs" />
229 <xsd:enumeration value="ace" />
230 <xsd:enumeration value="ady" />
231 <xsd:enumeration value="ady-cyrl" />
232 <xsd:enumeration value="aeb" />
233 <xsd:enumeration value="aeb-arab" />
234 <xsd:enumeration value="aeb-latn" />
235 <xsd:enumeration value="af" />
236 <xsd:enumeration value="agq" />
237 <xsd:enumeration value="ak" />
238 <xsd:enumeration value="aln" />
239 <xsd:enumeration value="als" />
240 <xsd:enumeration value="alt" />
241 <xsd:enumeration value="am" />
242 <xsd:enumeration value="ami" />
243 <xsd:enumeration value="an" />
244 <xsd:enumeration value="ang" />
245 <xsd:enumeration value="anp" />
246 <xsd:enumeration value="ar" />
247 <xsd:enumeration value="arc" />
248 <xsd:enumeration value="arn" />
249 <xsd:enumeration value="arq" />
250 <xsd:enumeration value="ary" />
251 <xsd:enumeration value="arz" />
252 <xsd:enumeration value="as" />
253 <xsd:enumeration value="ase" />
254 <xsd:enumeration value="ast" />
255 <xsd:enumeration value="atj" />
256 <xsd:enumeration value="av" />
257 <xsd:enumeration value="avk" />
258 <xsd:enumeration value="awa" />
259 <xsd:enumeration value="ay" />
260 <xsd:enumeration value="az" />
261 <xsd:enumeration value="azb" />
262 <xsd:enumeration value="ba" />
263 <xsd:enumeration value="ban" />
264 <xsd:enumeration value="ban-bali" />
265 <xsd:enumeration value="bar" />
266 <xsd:enumeration value="bat-smg" />
267 <xsd:enumeration value="bbc" />
268 <xsd:enumeration value="bbc-latn" />
269 <xsd:enumeration value="bcc" />
270 <xsd:enumeration value="bci" />
271 <xsd:enumeration value="bcl" />
272 <xsd:enumeration value="be" />
273 <xsd:enumeration value="be-tarask" />
274 <xsd:enumeration value="be-x-old" />
275 <xsd:enumeration value="bg" />
276 <xsd:enumeration value="bgn" />
277 <xsd:enumeration value="bh" />
278 <xsd:enumeration value="bho" />
279 <xsd:enumeration value="bi" />
280 <xsd:enumeration value="bjn" />
281 <xsd:enumeration value="blk" />
282 <xsd:enumeration value="bm" />
283 <xsd:enumeration value="bn" />
284 <xsd:enumeration value="bo" />
285 <xsd:enumeration value="bpy" />
286 <xsd:enumeration value="bqi" />
287 <xsd:enumeration value="br" />
288 <xsd:enumeration value="brh" />
289 <xsd:enumeration value="bs" />
290 <xsd:enumeration value="btm" />
291 <xsd:enumeration value="bto" />
292 <xsd:enumeration value="bug" />
293 <xsd:enumeration value="bxr" />
294 <xsd:enumeration value="ca" />
295 <xsd:enumeration value="cbk-zam" />
296 <xsd:enumeration value="cdo" />
297 <xsd:enumeration value="ce" />
298 <xsd:enumeration value="ceb" />
299 <xsd:enumeration value="ch" />
300 <xsd:enumeration value="cho" />
301 <xsd:enumeration value="chr" />
302 <xsd:enumeration value="chy" />
303 <xsd:enumeration value="ckb" />
304 <xsd:enumeration value="co" />
305 <xsd:enumeration value="cps" />
306 <xsd:enumeration value="cr" />
307 <xsd:enumeration value="crh" />
308 <xsd:enumeration value="crh-cyrl" />
309 <xsd:enumeration value="crh-latn" />
310 <xsd:enumeration value="cs" />
311 <xsd:enumeration value="csb" />
312 <xsd:enumeration value="cu" />
313 <xsd:enumeration value="cv" />
314 <xsd:enumeration value="cy" />
315 <xsd:enumeration value="da" />
316 <xsd:enumeration value="dag" />
317 <xsd:enumeration value="de" />
318 <xsd:enumeration value="de-at" />
319 <xsd:enumeration value="de-ch" />
320 <xsd:enumeration value="de-formal" />
321 <xsd:enumeration value="din" />
322 <xsd:enumeration value="diq" />
323 <xsd:enumeration value="dsb" />
324 <xsd:enumeration value="dtp" />
325 <xsd:enumeration value="dty" />
326 <xsd:enumeration value="dv" />
327 <xsd:enumeration value="dz" />
328 <xsd:enumeration value="ee" />
329 <xsd:enumeration value="egl" />
330 <xsd:enumeration value="el" />
331 <xsd:enumeration value="eml" />
332 <xsd:enumeration value="en" />
333 <xsd:enumeration value="en-ca" />
334 <xsd:enumeration value="en-gb" />
335 <xsd:enumeration value="eo" />
336 <xsd:enumeration value="es" />
337 <xsd:enumeration value="es-419" />
338 <xsd:enumeration value="es-formal" />
339 <xsd:enumeration value="et" />
340 <xsd:enumeration value="eu" />
341 <xsd:enumeration value="ext" />
342 <xsd:enumeration value="fa" />
343 <xsd:enumeration value="ff" />
344 <xsd:enumeration value="fi" />
345 <xsd:enumeration value="fit" />
346 <xsd:enumeration value="fiu-vro" />
347 <xsd:enumeration value="fj" />
348 <xsd:enumeration value="fkv" />
349 <xsd:enumeration value="fo" />
350 <xsd:enumeration value="fr" />
351 <xsd:enumeration value="frc" />
352 <xsd:enumeration value="frp" />
353 <xsd:enumeration value="frr" />
354 <xsd:enumeration value="fur" />
355 <xsd:enumeration value="fy" />
356 <xsd:enumeration value="ga" />
357 <xsd:enumeration value="gaa" />
358 <xsd:enumeration value="gag" />
359 <xsd:enumeration value="gan" />
360 <xsd:enumeration value="gan-hans" />
361 <xsd:enumeration value="gan-hant" />
362 <xsd:enumeration value="gcr" />
363 <xsd:enumeration value="gd" />
364 <xsd:enumeration value="gl" />
365 <xsd:enumeration value="gld" />
366 <xsd:enumeration value="glk" />
367 <xsd:enumeration value="gn" />
368 <xsd:enumeration value="gom" />
369 <xsd:enumeration value="gom-deva" />
370 <xsd:enumeration value="gom-latn" />
371 <xsd:enumeration value="gor" />
372 <xsd:enumeration value="got" />
373 <xsd:enumeration value="grc" />
374 <xsd:enumeration value="gsw" />
375 <xsd:enumeration value="gu" />
376 <xsd:enumeration value="guc" />
377 <xsd:enumeration value="gur" />
378 <xsd:enumeration value="guw" />
379 <xsd:enumeration value="gv" />
380 <xsd:enumeration value="ha" />
381 <xsd:enumeration value="hak" />
382 <xsd:enumeration value="haw" />
383 <xsd:enumeration value="he" />
384 <xsd:enumeration value="hi" />
385 <xsd:enumeration value="hif" />
386 <xsd:enumeration value="hif-latn" />
387 <xsd:enumeration value="hil" />
388 <xsd:enumeration value="ho" />
389 <xsd:enumeration value="hr" />
390 <xsd:enumeration value="hrx" />
391 <xsd:enumeration value="hsb" />
392 <xsd:enumeration value="hsn" />
393 <xsd:enumeration value="ht" />
394 <xsd:enumeration value="hu" />
395 <xsd:enumeration value="hu-formal" />
396 <xsd:enumeration value="hy" />
397 <xsd:enumeration value="hyw" />
398 <xsd:enumeration value="hz" />
399 <xsd:enumeration value="ia" />
400 <xsd:enumeration value="id" />
401 <xsd:enumeration value="ie" />
402 <xsd:enumeration value="ig" />
403 <xsd:enumeration value="ii" />
404 <xsd:enumeration value="ik" />
405 <xsd:enumeration value="ike-cans" />
406 <xsd:enumeration value="ike-latn" />
407 <xsd:enumeration value="ilo" />
408 <xsd:enumeration value="inh" />
409 <xsd:enumeration value="io" />
410 <xsd:enumeration value="is" />
411 <xsd:enumeration value="it" />
412 <xsd:enumeration value="iu" />
413 <xsd:enumeration value="ja" />
414 <xsd:enumeration value="jam" />
415 <xsd:enumeration value="jbo" />
416 <xsd:enumeration value="jut" />
417 <xsd:enumeration value="jv" />
418 <xsd:enumeration value="ka" />
419 <xsd:enumeration value="kaa" />
420 <xsd:enumeration value="kab" />
421 <xsd:enumeration value="kbd" />
422 <xsd:enumeration value="kbd-cyrl" />
423 <xsd:enumeration value="kbp" />
424 <xsd:enumeration value="kcg" />
425 <xsd:enumeration value="kea" />
426 <xsd:enumeration value="kg" />
427 <xsd:enumeration value="khw" />
428 <xsd:enumeration value="ki" />
429 <xsd:enumeration value="kiu" />
430 <xsd:enumeration value="kj" />
431 <xsd:enumeration value="kjp" />
432 <xsd:enumeration value="kk" />
433 <xsd:enumeration value="kk-arab" />
434 <xsd:enumeration value="kk-cn" />
435 <xsd:enumeration value="kk-cyrl" />
436 <xsd:enumeration value="kk-kz" />
437 <xsd:enumeration value="kk-latn" />
438 <xsd:enumeration value="kk-tr" />
439 <xsd:enumeration value="kl" />
440 <xsd:enumeration value="km" />
441 <xsd:enumeration value="kn" />
442 <xsd:enumeration value="ko" />
443 <xsd:enumeration value="ko-kp" />
444 <xsd:enumeration value="koi" />
445 <xsd:enumeration value="kr" />
446 <xsd:enumeration value="krc" />
447 <xsd:enumeration value="kri" />
448 <xsd:enumeration value="krj" />
449 <xsd:enumeration value="krl" />
450 <xsd:enumeration value="ks" />
451 <xsd:enumeration value="ks-arab" />
452 <xsd:enumeration value="ks-deva" />
453 <xsd:enumeration value="ksh" />
454 <xsd:enumeration value="ksw" />
455 <xsd:enumeration value="ku" />
456 <xsd:enumeration value="ku-arab" />
457 <xsd:enumeration value="ku-latn" />
458 <xsd:enumeration value="kum" />
459 <xsd:enumeration value="kv" />
460 <xsd:enumeration value="kw" />
461 <xsd:enumeration value="ky" />
462 <xsd:enumeration value="la" />
463 <xsd:enumeration value="lad" />
464 <xsd:enumeration value="lb" />
465 <xsd:enumeration value="lbe" />
466 <xsd:enumeration value="lez" />
467 <xsd:enumeration value="lfn" />
468 <xsd:enumeration value="lg" />
469 <xsd:enumeration value="li" />
470 <xsd:enumeration value="lij" />
471 <xsd:enumeration value="liv" />
472 <xsd:enumeration value="lki" />
473 <xsd:enumeration value="lld" />
474 <xsd:enumeration value="lmo" />
475 <xsd:enumeration value="ln" />
476 <xsd:enumeration value="lo" />
477 <xsd:enumeration value="loz" />
478 <xsd:enumeration value="lrc" />
479 <xsd:enumeration value="lt" />
480 <xsd:enumeration value="ltg" />
481 <xsd:enumeration value="lus" />
482 <xsd:enumeration value="luz" />
483 <xsd:enumeration value="lv" />
484 <xsd:enumeration value="lzh" />
485 <xsd:enumeration value="lzz" />
486 <xsd:enumeration value="mad" />
487 <xsd:enumeration value="mai" />
488 <xsd:enumeration value="map-bms" />
489 <xsd:enumeration value="mcn" />
490 <xsd:enumeration value="mdf" />
491 <xsd:enumeration value="mg" />
492 <xsd:enumeration value="mh" />
493 <xsd:enumeration value="mhr" />
494 <xsd:enumeration value="mi" />
495 <xsd:enumeration value="min" />
496 <xsd:enumeration value="mk" />
497 <xsd:enumeration value="ml" />
498 <xsd:enumeration value="mn" />
499 <xsd:enumeration value="mni" />
500 <xsd:enumeration value="mnw" />
501 <xsd:enumeration value="mo" />
502 <xsd:enumeration value="mr" />
503 <xsd:enumeration value="mrh" />
504 <xsd:enumeration value="mrj" />
505 <xsd:enumeration value="ms" />
506 <xsd:enumeration value="ms-arab" />
507 <xsd:enumeration value="mt" />
508 <xsd:enumeration value="mus" />
509 <xsd:enumeration value="mwl" />
510 <xsd:enumeration value="my" />
511 <xsd:enumeration value="myv" />
512 <xsd:enumeration value="mzn" />
513 <xsd:enumeration value="na" />
514 <xsd:enumeration value="nah" />
515 <xsd:enumeration value="nan" />
516 <xsd:enumeration value="nap" />
517 <xsd:enumeration value="nb" />
518 <xsd:enumeration value="nds" />
519 <xsd:enumeration value="nds-nl" />
520 <xsd:enumeration value="ne" />
521 <xsd:enumeration value="new" />
522 <xsd:enumeration value="ng" />
523 <xsd:enumeration value="nia" />
524 <xsd:enumeration value="niu" />
525 <xsd:enumeration value="nl" />
526 <xsd:enumeration value="nl-informal" />
527 <xsd:enumeration value="nmz" />
528 <xsd:enumeration value="nn" />
529 <xsd:enumeration value="no" />
530 <xsd:enumeration value="nod" />
531 <xsd:enumeration value="nov" />
532 <xsd:enumeration value="nqo" />
533 <xsd:enumeration value="nrm" />
534 <xsd:enumeration value="nso" />
535 <xsd:enumeration value="nv" />
536 <xsd:enumeration value="ny" />
537 <xsd:enumeration value="nys" />
538 <xsd:enumeration value="oc" />
539 <xsd:enumeration value="ojb" />
540 <xsd:enumeration value="olo" />
541 <xsd:enumeration value="om" />
542 <xsd:enumeration value="or" />
543 <xsd:enumeration value="os" />
544 <xsd:enumeration value="ota" />
545 <xsd:enumeration value="pa" />
546 <xsd:enumeration value="pag" />
547 <xsd:enumeration value="pam" />
548 <xsd:enumeration value="pap" />
549 <xsd:enumeration value="pcd" />
550 <xsd:enumeration value="pdc" />
551 <xsd:enumeration value="pdt" />
552 <xsd:enumeration value="pfl" />
553 <xsd:enumeration value="pi" />
554 <xsd:enumeration value="pih" />
555 <xsd:enumeration value="pl" />
556 <xsd:enumeration value="pms" />
557 <xsd:enumeration value="pnb" />
558 <xsd:enumeration value="pnt" />
559 <xsd:enumeration value="prg" />
560 <xsd:enumeration value="ps" />
561 <xsd:enumeration value="pt" />
562 <xsd:enumeration value="pt-br" />
563 <xsd:enumeration value="pwn" />
564 <xsd:enumeration value="qu" />
565 <xsd:enumeration value="qug" />
566 <xsd:enumeration value="rgn" />
567 <xsd:enumeration value="rif" />
568 <xsd:enumeration value="rm" />
569 <xsd:enumeration value="rmc" />
570 <xsd:enumeration value="rmf" />
571 <xsd:enumeration value="rmy" />
572 <xsd:enumeration value="rn" />
573 <xsd:enumeration value="ro" />
574 <xsd:enumeration value="roa-rup" />
575 <xsd:enumeration value="roa-tara" />
576 <xsd:enumeration value="ru" />
577 <xsd:enumeration value="rue" />
578 <xsd:enumeration value="rup" />
579 <xsd:enumeration value="ruq" />
580 <xsd:enumeration value="ruq-cyrl" />
581 <xsd:enumeration value="ruq-latn" />
582 <xsd:enumeration value="rw" />
583 <xsd:enumeration value="rwr" />
584 <xsd:enumeration value="sa" />
585 <xsd:enumeration value="sah" />
586 <xsd:enumeration value="sat" />
587 <xsd:enumeration value="sc" />
588 <xsd:enumeration value="scn" />
589 <xsd:enumeration value="sco" />
590 <xsd:enumeration value="sd" />
591 <xsd:enumeration value="sdc" />
592 <xsd:enumeration value="sdh" />
593 <xsd:enumeration value="se" />
594 <xsd:enumeration value="sei" />
595 <xsd:enumeration value="ses" />
596 <xsd:enumeration value="sg" />
597 <xsd:enumeration value="sgs" />
598 <xsd:enumeration value="sh" />
599 <xsd:enumeration value="shi" />
600 <xsd:enumeration value="shi-latn" />
601 <xsd:enumeration value="shi-tfng" />
602 <xsd:enumeration value="shn" />
603 <xsd:enumeration value="shy" />
604 <xsd:enumeration value="shy-latn" />
605 <xsd:enumeration value="si" />
606 <xsd:enumeration value="simple" />
607 <xsd:enumeration value="sjd" />
608 <xsd:enumeration value="sje" />
609 <xsd:enumeration value="sju" />
610 <xsd:enumeration value="sk" />
611 <xsd:enumeration value="skr" />
612 <xsd:enumeration value="skr-arab" />
613 <xsd:enumeration value="sl" />
614 <xsd:enumeration value="sli" />
615 <xsd:enumeration value="sm" />
616 <xsd:enumeration value="sma" />
617 <xsd:enumeration value="smj" />
618 <xsd:enumeration value="smn" />
619 <xsd:enumeration value="sms" />
620 <xsd:enumeration value="sn" />
621 <xsd:enumeration value="so" />
622 <xsd:enumeration value="sq" />
623 <xsd:enumeration value="sr" />
624 <xsd:enumeration value="sr-ec" />
625 <xsd:enumeration value="sr-el" />
626 <xsd:enumeration value="srn" />
627 <xsd:enumeration value="srq" />
628 <xsd:enumeration value="ss" />
629 <xsd:enumeration value="st" />
630 <xsd:enumeration value="stq" />
631 <xsd:enumeration value="sty" />
632 <xsd:enumeration value="su" />
633 <xsd:enumeration value="sv" />
634 <xsd:enumeration value="sw" />
635 <xsd:enumeration value="szl" />
636 <xsd:enumeration value="szy" />
637 <xsd:enumeration value="ta" />
638 <xsd:enumeration value="tay" />
639 <xsd:enumeration value="tcy" />
640 <xsd:enumeration value="te" />
641 <xsd:enumeration value="tet" />
642 <xsd:enumeration value="tg" />
643 <xsd:enumeration value="tg-cyrl" />
644 <xsd:enumeration value="tg-latn" />
645 <xsd:enumeration value="th" />
646 <xsd:enumeration value="ti" />
647 <xsd:enumeration value="tk" />
648 <xsd:enumeration value="tl" />
649 <xsd:enumeration value="tly" />
650 <xsd:enumeration value="tly-cyrl" />
651 <xsd:enumeration value="tn" />
652 <xsd:enumeration value="to" />
653 <xsd:enumeration value="tpi" />
654 <xsd:enumeration value="tr" />
655 <xsd:enumeration value="tru" />
656 <xsd:enumeration value="trv" />
657 <xsd:enumeration value="ts" />
658 <xsd:enumeration value="tt" />
659 <xsd:enumeration value="tt-cyrl" />
660 <xsd:enumeration value="tt-latn" />
661 <xsd:enumeration value="tum" />
662 <xsd:enumeration value="tw" />
663 <xsd:enumeration value="ty" />
664 <xsd:enumeration value="tyv" />
665 <xsd:enumeration value="tzm" />
666 <xsd:enumeration value="udm" />
667 <xsd:enumeration value="ug" />
668 <xsd:enumeration value="ug-arab" />
669 <xsd:enumeration value="ug-latn" />
670 <xsd:enumeration value="uk" />
671 <xsd:enumeration value="ur" />
672 <xsd:enumeration value="uz" />
673 <xsd:enumeration value="uz-cyrl" />
674 <xsd:enumeration value="uz-latn" />
675 <xsd:enumeration value="ve" />
676 <xsd:enumeration value="vec" />
677 <xsd:enumeration value="vep" />
678 <xsd:enumeration value="vi" />
679 <xsd:enumeration value="vls" />
680 <xsd:enumeration value="vmf" />
681 <xsd:enumeration value="vmw" />
682 <xsd:enumeration value="vo" />
683 <xsd:enumeration value="vot" />
684 <xsd:enumeration value="vro" />
685 <xsd:enumeration value="wa" />
686 <xsd:enumeration value="war" />
687 <xsd:enumeration value="wls" />
688 <xsd:enumeration value="wo" />
689 <xsd:enumeration value="wuu" />
690 <xsd:enumeration value="xal" />
691 <xsd:enumeration value="xh" />
692 <xsd:enumeration value="xmf" />
693 <xsd:enumeration value="xsy" />
694 <xsd:enumeration value="yi" />
695 <xsd:enumeration value="yo" />
696 <xsd:enumeration value="yue" />
697 <xsd:enumeration value="za" />
698 <xsd:enumeration value="zea" />
699 <xsd:enumeration value="zgh" />
700 <xsd:enumeration value="zh" />
701 <xsd:enumeration value="zh-classical" />
702 <xsd:enumeration value="zh-cn" />
703 <xsd:enumeration value="zh-hans" />
704 <xsd:enumeration value="zh-hant" />
705 <xsd:enumeration value="zh-hk" />
706 <xsd:enumeration value="zh-min-nan" />
707 <xsd:enumeration value="zh-mo" />
708 <xsd:enumeration value="zh-my" />
709 <xsd:enumeration value="zh-sg" />
710 <xsd:enumeration value="zh-tw" />
711 <xsd:enumeration value="zh-yue" />
712 <xsd:enumeration value="zu" />
713 <xsd:enumeration value="bag" />
714 <xsd:enumeration value="bas" />
715 <xsd:enumeration value="bax" />
716 <xsd:enumeration value="bbj" />
717 <xsd:enumeration value="bfd" />
718 <xsd:enumeration value="bkc" />
719 <xsd:enumeration value="bkh" />
720 <xsd:enumeration value="bkm" />
721 <xsd:enumeration value="bqz" />
722 <xsd:enumeration value="byv" />
723 <xsd:enumeration value="cak" />
724 <xsd:enumeration value="cnh" />
725 <xsd:enumeration value="dua" />
726 <xsd:enumeration value="en-us" />
727 <xsd:enumeration value="eto" />
728 <xsd:enumeration value="etu" />
729 <xsd:enumeration value="ewo" />
730 <xsd:enumeration value="fmp" />
731 <xsd:enumeration value="gya" />
732 <xsd:enumeration value="isu" />
733 <xsd:enumeration value="ker" />
734 <xsd:enumeration value="ksf" />
735 <xsd:enumeration value="lem" />
736 <xsd:enumeration value="lns" />
737 <xsd:enumeration value="mcp" />
738 <xsd:enumeration value="mua" />
739 <xsd:enumeration value="nan-hani" />
740 <xsd:enumeration value="nge" />
741 <xsd:enumeration value="nla" />
742 <xsd:enumeration value="nmg" />
743 <xsd:enumeration value="nnh" />
744 <xsd:enumeration value="nnz" />
745 <xsd:enumeration value="osa-latn" />
746 <xsd:enumeration value="pap-aw" />
747 <xsd:enumeration value="quc" />
748 <xsd:enumeration value="ryu" />
749 <xsd:enumeration value="tvu" />
750 <xsd:enumeration value="vut" />
751 <xsd:enumeration value="wes" />
752 <xsd:enumeration value="wya" />
753 <xsd:enumeration value="yas" />
754 <xsd:enumeration value="yat" />
755 <xsd:enumeration value="yav" />
756 <xsd:enumeration value="ybb" />
757 </xsd:restriction>
758 </xsd:simpleType>
759 </xsd:attribute>
760 </xsd:extension>
761 </xsd:simpleContent>
762 </xsd:complexType>
763
764 <xsd:complexType name="translation">
765 <xsd:simpleContent>
766 <xsd:extension base="wdef:non-empty-normalized-string">
767 <xsd:attribute ref="xml:lang" use="required" />
768 </xsd:extension>
769 </xsd:simpleContent>
770 </xsd:complexType>
771
772 <xsd:simpleType name="element-id">
773 <xsd:restriction base="xsd:normalizedString">
774 <xsd:pattern value="(Q[0-9]+|\?.+)" />
775 </xsd:restriction>
776 </xsd:simpleType>
777
778 <xsd:simpleType name="property-id">
779 <xsd:restriction base="xsd:normalizedString">
780 <xsd:pattern value="P[0-9]+" />
781 </xsd:restriction>
782 </xsd:simpleType>
783
784 <xsd:simpleType name="property-id2">
785 <xsd:restriction base="xsd:normalizedString">
786 <xsd:pattern value="(P[0-9]+|\?.+)" />
787 </xsd:restriction>
788 </xsd:simpleType>
789
790 <xsd:simpleType name="value-id">
791 <xsd:restriction base="xsd:normalizedString">
792 <xsd:pattern value="\?.+" />
793 </xsd:restriction>
794 </xsd:simpleType>
795
796 <xsd:simpleType name="non-empty-normalized-string">
797 <xsd:restriction base="xsd:normalizedString">
798 <xsd:minLength value="1" />
799 </xsd:restriction>
800 </xsd:simpleType>
801
802 <xsd:simpleType name="date-time">
803 <xsd:restriction base="xsd:normalizedString">
804 <xsd:pattern value="(-|\+)[0-9]+-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z" />
805 </xsd:restriction>
806 </xsd:simpleType>
807 </xsd:schema>