1+ <?xml version =" 1.0" encoding =" UTF-8" ?>
2+ <xs : schema xmlns =" http://javaops.ru"
3+ xmlns : xs =" http://www.w3.org/2001/XMLSchema"
4+ targetNamespace =" http://javaops.ru" elementFormDefault =" qualified" >
5+
6+ <xs : element name =" UsersWithMeals" >
7+ <xs : complexType >
8+ <xs : all >
9+ <xs : element name =" Users" >
10+ <xs : complexType >
11+ <xs : sequence minOccurs =" 0" maxOccurs =" unbounded" >
12+ <xs : element ref =" User" />
13+ </xs : sequence >
14+ </xs : complexType >
15+ </xs : element >
16+ </xs : all >
17+ </xs : complexType >
18+ </xs : element >
19+
20+ <xs : element name =" User" >
21+ <xs : complexType >
22+ <xs : sequence >
23+ <xs : element ref =" Meals" minOccurs =" 0" />
24+ </xs : sequence >
25+ <xs : attribute type =" xs:string" name =" name" use =" required" />
26+ <xs : attribute type =" xs:string" name =" email" use =" required" />
27+ <xs : attribute type =" xs:string" name =" password" use =" required" />
28+ <xs : attribute type =" xs:int" name =" caloriesPerDay" use =" required" />
29+ <xs : attribute type =" xs:dateTime" name =" registered" use =" required" />
30+ <xs : attribute type =" xs:boolean" name =" enabled" use =" required" />
31+ <xs : attribute type =" roles" name =" roles" />
32+ </xs : complexType >
33+ </xs : element >
34+
35+ <xs : simpleType name =" roles" >
36+ <xs : list itemType =" roleTypes" />
37+ </xs : simpleType >
38+
39+ <xs : simpleType name =" roleTypes" >
40+ <xs : restriction base =" xs:string" >
41+ <xs : enumeration value =" admin" />
42+ <xs : enumeration value =" user" />
43+ </xs : restriction >
44+ </xs : simpleType >
45+
46+ <xs : element name =" Meals" >
47+ <xs : complexType >
48+ <xs : sequence minOccurs =" 0" maxOccurs =" unbounded" >
49+ <xs : element ref =" Meal" />
50+ </xs : sequence >
51+ </xs : complexType >
52+ </xs : element >
53+
54+ <xs : element name =" Meal" >
55+ <xs : complexType >
56+ <xs : simpleContent >
57+ <xs : extension base =" xs:string" >
58+ <xs : attribute type =" xs:int" name =" calories" use =" required" />
59+ <xs : attribute type =" xs:dateTime" name =" dateTime" use =" required" />
60+ <xs : attribute type =" xs:boolean" name =" excess" />
61+ </xs : extension >
62+ </xs : simpleContent >
63+ </xs : complexType >
64+ </xs : element >
65+ </xs : schema >
0 commit comments