214214 </xs : complexContent >
215215 </xs : complexType >
216216
217- <xs : element name =" enum" type =" enumType" />
218- <xs : simpleType name =" enumType" >
219- <xs : restriction base =" xs:token" >
220- <xs : enumeration value =" Male" />
221- <xs : enumeration value =" Female" />
222- </xs : restriction >
223- </xs : simpleType >
224-
225217 <xs : complexType name =" abstractBaseType" abstract =" true" />
226218
227219 <xs : complexType name =" extendedMixedType" >
232224
233225 <xs : element name =" abstractElement" abstract =" true" />
234226
227+
228+ <!-- Enumerations -->
229+ <xs : element name =" base64BinaryEnum" type =" base64BinaryEnumType" />
230+ <xs : simpleType name =" base64BinaryEnumType" >
231+ <xs : restriction base =" xs:base64Binary" >
232+ <xs : enumeration value =" aGVyb25neWFuZy5jb20=" />
233+ <xs : enumeration value =" QQ==" />
234+ </xs : restriction >
235+ </xs : simpleType >
236+
237+ <xs : element name =" hexBinaryEnum" type =" hexBinaryEnumType" />
238+ <xs : simpleType name =" hexBinaryEnumType" >
239+ <xs : restriction base =" xs:hexBinary" >
240+ <xs : enumeration value =" 0FB7" />
241+ <xs : enumeration value =" A4D98C" />
242+ </xs : restriction >
243+ </xs : simpleType >
244+
245+ <xs : element name =" durationEnum" type =" durationEnumType" />
246+ <xs : simpleType name =" durationEnumType" >
247+ <xs : restriction base =" xs:duration" >
248+ <xs : enumeration value =" P1Y2M3DT10H30M" />
249+ <xs : enumeration value =" -P120D" />
250+ </xs : restriction >
251+ </xs : simpleType >
252+
253+ <xs : element name =" dateTimeEnum" type =" dateTimeEnumType" />
254+ <xs : simpleType name =" dateTimeEnumType" >
255+ <xs : restriction base =" xs:dateTime" >
256+ <xs : enumeration value =" 1999-05-31T13:20:00-05:00" />
257+ <xs : enumeration value =" 2016-07-13T11:00:00-05:00" />
258+ </xs : restriction >
259+ </xs : simpleType >
260+
261+ <xs : element name =" dateEnum" type =" dateEnumType" />
262+ <xs : simpleType name =" dateEnumType" >
263+ <xs : restriction base =" xs:date" >
264+ <xs : enumeration value =" 1999-05-31" />
265+ <xs : enumeration value =" 2016-07-13" />
266+ </xs : restriction >
267+ </xs : simpleType >
268+
269+ <xs : element name =" timeEnum" type =" timeEnumType" />
270+ <xs : simpleType name =" timeEnumType" >
271+ <xs : restriction base =" xs:time" >
272+ <xs : enumeration value =" 13:20:00-05:00" />
273+ <xs : enumeration value =" 11:28:00+06:00" />
274+ </xs : restriction >
275+ </xs : simpleType >
276+
277+ <xs : element name =" gYearMonthEnum" type =" gYearMonthEnumType" />
278+ <xs : simpleType name =" gYearMonthEnumType" >
279+ <xs : restriction base =" xs:gYearMonth" >
280+ <xs : enumeration value =" 1999-05" />
281+ <xs : enumeration value =" 2016-07" />
282+ </xs : restriction >
283+ </xs : simpleType >
284+
285+ <xs : element name =" gYearEnum" type =" gYearEnumType" />
286+ <xs : simpleType name =" gYearEnumType" >
287+ <xs : restriction base =" xs:gYear" >
288+ <xs : enumeration value =" 1999" />
289+ <xs : enumeration value =" 2016" />
290+ </xs : restriction >
291+ </xs : simpleType >
292+
293+ <xs : element name =" gMonthDayEnum" type =" gMonthDayEnumType" />
294+ <xs : simpleType name =" gMonthDayEnumType" >
295+ <xs : restriction base =" xs:gMonthDay" >
296+ <xs : enumeration value =" --05-31" />
297+ <xs : enumeration value =" --07-13" />
298+ </xs : restriction >
299+ </xs : simpleType >
300+
301+ <xs : element name =" gDayEnum" type =" gDayEnumType" />
302+ <xs : simpleType name =" gDayEnumType" >
303+ <xs : restriction base =" xs:gDay" >
304+ <xs : enumeration value =" ---01" />
305+ <xs : enumeration value =" ---31" />
306+ </xs : restriction >
307+ </xs : simpleType >
308+
309+ <xs : element name =" gMonthEnum" type =" gMonthEnumType" />
310+ <xs : simpleType name =" gMonthEnumType" >
311+ <xs : restriction base =" xs:gMonth" >
312+ <xs : enumeration value =" --05--" />
313+ <xs : enumeration value =" --12--" />
314+ </xs : restriction >
315+ </xs : simpleType >
316+
317+ <xs : element name =" floatEnum" type =" floatEnumType" />
318+ <xs : simpleType name =" floatEnumType" >
319+ <xs : restriction base =" xs:float" >
320+ <xs : enumeration value =" 1267.43233" />
321+ <xs : enumeration value =" 12.78e-2" />
322+ <xs : enumeration value =" 12" />
323+ <xs : enumeration value =" INF" />
324+ </xs : restriction >
325+ </xs : simpleType >
326+
327+ <xs : element name =" doubleEnum" type =" doubleEnumType" />
328+ <xs : simpleType name =" doubleEnumType" >
329+ <xs : restriction base =" xs:double" >
330+ <xs : enumeration value =" 1267.43233" />
331+ <xs : enumeration value =" 12.78e20" />
332+ <xs : enumeration value =" 12" />
333+ <xs : enumeration value =" -INF" />
334+ </xs : restriction >
335+ </xs : simpleType >
336+
337+ <xs : element name =" decimalEnum" type =" decimalEnumType" />
338+ <xs : simpleType name =" decimalEnumType" >
339+ <xs : restriction base =" xs:decimal" >
340+ <xs : enumeration value =" +1267.43233" />
341+ <xs : enumeration value =" -12.7820" />
342+ <xs : enumeration value =" 12" />
343+ </xs : restriction >
344+ </xs : simpleType >
345+
346+ <xs : element name =" integerEnum" type =" integerEnumType" />
347+ <xs : simpleType name =" integerEnumType" >
348+ <xs : restriction base =" xs:integer" >
349+ <xs : enumeration value =" -1321532" />
350+ <xs : enumeration value =" 245234623" />
351+ </xs : restriction >
352+ </xs : simpleType >
353+
354+ <xs : element name =" longEnum" type =" longEnumType" />
355+ <xs : simpleType name =" longEnumType" >
356+ <xs : restriction base =" xs:long" >
357+ <xs : enumeration value =" 9223372036854775807" />
358+ <xs : enumeration value =" -9223372036854775808" />
359+ </xs : restriction >
360+ </xs : simpleType >
361+
362+ <xs : element name =" intEnum" type =" intEnumType" />
363+ <xs : simpleType name =" intEnumType" >
364+ <xs : restriction base =" xs:int" >
365+ <xs : enumeration value =" 2147483647" />
366+ <xs : enumeration value =" -2147483648" />
367+ </xs : restriction >
368+ </xs : simpleType >
369+
370+ <xs : element name =" shortEnum" type =" shortEnumType" />
371+ <xs : simpleType name =" shortEnumType" >
372+ <xs : restriction base =" xs:short" >
373+ <xs : enumeration value =" 32767" />
374+ <xs : enumeration value =" -32768" />
375+ </xs : restriction >
376+ </xs : simpleType >
377+
378+ <xs : element name =" byteEnum" type =" byteEnumType" />
379+ <xs : simpleType name =" byteEnumType" >
380+ <xs : restriction base =" xs:byte" >
381+ <xs : enumeration value =" 127" />
382+ <xs : enumeration value =" -128" />
383+ </xs : restriction >
384+ </xs : simpleType >
385+
386+ <xs : element name =" unsignedLongEnum" type =" unsignedLongEnumType" />
387+ <xs : simpleType name =" unsignedLongEnumType" >
388+ <xs : restriction base =" xs:unsignedLong" >
389+ <xs : enumeration value =" 0" />
390+ <xs : enumeration value =" 18446744073709551615" />
391+ </xs : restriction >
392+ </xs : simpleType >
393+
394+ <xs : element name =" unsignedIntEnum" type =" unsignedIntEnumType" />
395+ <xs : simpleType name =" unsignedIntEnumType" >
396+ <xs : restriction base =" xs:unsignedInt" >
397+ <xs : enumeration value =" 0" />
398+ <xs : enumeration value =" 4294967295" />
399+ </xs : restriction >
400+ </xs : simpleType >
401+
402+ <xs : element name =" unsignedShortEnum" type =" unsignedShortEnumType" />
403+ <xs : simpleType name =" unsignedShortEnumType" >
404+ <xs : restriction base =" xs:unsignedShort" >
405+ <xs : enumeration value =" 0" />
406+ <xs : enumeration value =" 65535" />
407+ </xs : restriction >
408+ </xs : simpleType >
409+
410+ <xs : element name =" unsignedByteEnum" type =" unsignedByteEnumType" />
411+ <xs : simpleType name =" unsignedByteEnumType" >
412+ <xs : restriction base =" xs:unsignedByte" >
413+ <xs : enumeration value =" 0" />
414+ <xs : enumeration value =" 255" />
415+ </xs : restriction >
416+ </xs : simpleType >
417+
418+ <xs : element name =" nonNegativeIntegerEnum" type =" nonNegativeIntegerEnumType" />
419+ <xs : simpleType name =" nonNegativeIntegerEnumType" >
420+ <xs : restriction base =" xs:nonNegativeInteger" >
421+ <xs : enumeration value =" 0" />
422+ <xs : enumeration value =" 12678967543233" />
423+ </xs : restriction >
424+ </xs : simpleType >
425+
426+ <xs : element name =" nonPositiveIntegerEnum" type =" nonPositiveIntegerEnumType" />
427+ <xs : simpleType name =" nonPositiveIntegerEnumType" >
428+ <xs : restriction base =" xs:nonPositiveInteger" >
429+ <xs : enumeration value =" 0" />
430+ <xs : enumeration value =" -100000" />
431+ </xs : restriction >
432+ </xs : simpleType >
433+
434+ <xs : element name =" positiveIntegerEnum" type =" positiveIntegerEnumType" />
435+ <xs : simpleType name =" positiveIntegerEnumType" >
436+ <xs : restriction base =" xs:positiveInteger" >
437+ <xs : enumeration value =" 1" />
438+ <xs : enumeration value =" 12678967543233" />
439+ </xs : restriction >
440+ </xs : simpleType >
441+
442+ <xs : element name =" negativeIntegerEnum" type =" negativeIntegerEnumType" />
443+ <xs : simpleType name =" negativeIntegerEnumType" >
444+ <xs : restriction base =" xs:negativeInteger" >
445+ <xs : enumeration value =" -1" />
446+ <xs : enumeration value =" -12678967543233" />
447+ </xs : restriction >
448+ </xs : simpleType >
449+
450+ <xs : element name =" anyURIEnum" type =" anyURIEnumType" />
451+ <xs : simpleType name =" anyURIEnumType" >
452+ <xs : restriction base =" xs:anyURI" >
453+ <xs : enumeration value =" /some/relative/path" />
454+ <xs : enumeration value =" http://somedomain.com/absolute/path#withHash" />
455+ </xs : restriction >
456+ </xs : simpleType >
457+
458+ <xs : element name =" QNameEnum" type =" QNameEnumType" />
459+ <xs : simpleType name =" QNameEnumType" >
460+ <xs : restriction base =" xs:QName" >
461+ <xs : enumeration value =" anyURIEnum" />
462+ <xs : enumeration value =" xs:QName" />
463+ </xs : restriction >
464+ </xs : simpleType >
465+
466+ <xs : element name =" stringEnum" type =" stringEnumType" />
467+ <xs : simpleType name =" stringEnumType" >
468+ <xs : restriction base =" xs:string" >
469+ <xs : enumeration value =" Apple" />
470+ <xs : enumeration value =" Bear" />
471+ </xs : restriction >
472+ </xs : simpleType >
473+
474+ <xs : element name =" normalizedStringEnum" type =" normalizedStringEnumType" />
475+ <xs : simpleType name =" normalizedStringEnumType" >
476+ <xs : restriction base =" xs:normalizedString" >
477+ <xs : enumeration value =" \tApple\n" />
478+ <xs : enumeration value =" \tBear\n" />
479+ </xs : restriction >
480+ </xs : simpleType >
481+
482+ <xs : element name =" tokenEnum" type =" tokenEnumType" />
483+ <xs : simpleType name =" tokenEnumType" >
484+ <xs : restriction base =" xs:token" >
485+ <xs : enumeration value =" Édition française." />
486+ <xs : enumeration value =" PB& J" />
487+ </xs : restriction >
488+ </xs : simpleType >
489+
490+ <xs : element name =" languageEnum" type =" languageEnumType" />
491+ <xs : simpleType name =" languageEnumType" >
492+ <xs : restriction base =" xs:language" >
493+ <xs : enumeration value =" zh" />
494+ <xs : enumeration value =" en-US" />
495+ </xs : restriction >
496+ </xs : simpleType >
497+
498+ <xs : element name =" NameEnum" type =" NameEnumType" />
499+ <xs : simpleType name =" NameEnumType" >
500+ <xs : restriction base =" xs:Name" >
501+ <xs : enumeration value =" languageEnum" />
502+ <xs : enumeration value =" xs:QName" />
503+ </xs : restriction >
504+ </xs : simpleType >
505+
506+ <xs : element name =" NCNameEnum" type =" NCNameEnumType" />
507+ <xs : simpleType name =" NCNameEnumType" >
508+ <xs : restriction base =" xs:NCName" >
509+ <xs : enumeration value =" NCNameEnum" />
510+ <xs : enumeration value =" some-element" />
511+ </xs : restriction >
512+ </xs : simpleType >
513+
514+ <xs : element name =" IDEnum" type =" IDEnumType" />
515+ <xs : simpleType name =" IDEnumType" >
516+ <xs : restriction base =" xs:ID" >
517+ <xs : enumeration value =" IDEnum" />
518+ <xs : enumeration value =" anyElementStrict" />
519+ </xs : restriction >
520+ </xs : simpleType >
521+
522+ <xs : element name =" IDREFEnum" type =" IDREFEnumType" />
523+ <xs : simpleType name =" IDREFEnumType" >
524+ <xs : restriction base =" xs:IDREF" >
525+ <xs : enumeration value =" IDEnum" />
526+ <xs : enumeration value =" anyElementStrict" />
527+ </xs : restriction >
528+ </xs : simpleType >
529+
530+ <xs : element name =" IDREFSEnum" type =" IDREFSEnumType" />
531+ <xs : simpleType name =" IDREFSEnumType" >
532+ <xs : restriction base =" xs:IDREFS" >
533+ <xs : enumeration value =" IDEnum some-other-id" />
534+ <xs : enumeration value =" anyElementStrict _and-anotherId" />
535+ </xs : restriction >
536+ </xs : simpleType >
537+
538+ <xs : element name =" ENTITYEnum" type =" ENTITYEnumType" />
539+ <xs : simpleType name =" ENTITYEnumType" >
540+ <xs : restriction base =" xs:ENTITY" >
541+ <xs : enumeration value =" IDEnum" />
542+ <xs : enumeration value =" anyElementStrict" />
543+ </xs : restriction >
544+ </xs : simpleType >
545+
546+ <xs : element name =" ENTITIESEnum" type =" ENTITIESEnumType" />
547+ <xs : simpleType name =" ENTITIESEnumType" >
548+ <xs : restriction base =" xs:ENTITIES" >
549+ <xs : enumeration value =" IDEnum some-other-id" />
550+ <xs : enumeration value =" anyElementStrict _and-anotherId" />
551+ </xs : restriction >
552+ </xs : simpleType >
553+
554+ <xs : element name =" NMTOKENEnum" type =" NMTOKENEnumType" />
555+ <xs : simpleType name =" NMTOKENEnumType" >
556+ <xs : restriction base =" xs:NMTOKEN" >
557+ <xs : enumeration value =" ABCD" />
558+ <xs : enumeration value =" 123_456" />
559+ </xs : restriction >
560+ </xs : simpleType >
561+
562+ <xs : element name =" NMTOKENSEnum" type =" NMTOKENSEnumType" />
563+ <xs : simpleType name =" NMTOKENSEnumType" >
564+ <xs : restriction base =" xs:NMTOKENS" >
565+ <xs : enumeration value =" ABCD 123" />
566+ <xs : enumeration value =" 123_456" />
567+ </xs : restriction >
568+ </xs : simpleType >
569+
235570</xs : schema >
0 commit comments