amazon-mws 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. data/.gitignore +1 -0
  2. data/README.markdown +31 -0
  3. data/Rakefile +14 -0
  4. data/VERSION +1 -0
  5. data/amazon-mws.gemspec +164 -0
  6. data/examples/xml/cancel_feed_submissions.xml +16 -0
  7. data/examples/xml/cancel_report_requests.xml +18 -0
  8. data/examples/xml/error.xml +10 -0
  9. data/examples/xml/get_feed_submission_count.xml +10 -0
  10. data/examples/xml/get_feed_submission_list.xml +16 -0
  11. data/examples/xml/get_feed_submission_list_by_next_token.xml +16 -0
  12. data/examples/xml/get_feed_submission_result.xml +30 -0
  13. data/examples/xml/get_report_count.xml +9 -0
  14. data/examples/xml/get_report_list.xml +17 -0
  15. data/examples/xml/get_report_request_count.xml +8 -0
  16. data/examples/xml/get_report_request_list.xml +120 -0
  17. data/examples/xml/get_report_request_list_by_next_token.xml +20 -0
  18. data/examples/xml/get_report_schedule_count.xml +10 -0
  19. data/examples/xml/get_report_schedule_list.xml +15 -0
  20. data/examples/xml/get_report_schedule_list_by_next_token.xml +15 -0
  21. data/examples/xml/manage_report_schedule.xml +14 -0
  22. data/examples/xml/request_report.xml +17 -0
  23. data/examples/xml/submit_feed.xml +14 -0
  24. data/examples/xml/update_report_acknowledgements.xml +18 -0
  25. data/examples/xsd/Inventory.xsd +49 -0
  26. data/examples/xsd/Item.xsd +285 -0
  27. data/examples/xsd/Listings.xsd +32 -0
  28. data/examples/xsd/OrderAcknowledgement.xsd +55 -0
  29. data/examples/xsd/OrderAdjustment.xsd +94 -0
  30. data/examples/xsd/OrderFulfillment.xsd +57 -0
  31. data/examples/xsd/Override.xsd +48 -0
  32. data/examples/xsd/Price.xsd +59 -0
  33. data/examples/xsd/ProcessingReport.xsd +87 -0
  34. data/examples/xsd/Product.xsd +220 -0
  35. data/examples/xsd/Product/AutoAccessory.xsd +807 -0
  36. data/examples/xsd/Product/Beauty.xsd +114 -0
  37. data/examples/xsd/Product/CE.xsd +544 -0
  38. data/examples/xsd/Product/CameraPhoto.xsd +2410 -0
  39. data/examples/xsd/Product/FoodAndBeverages.xsd +270 -0
  40. data/examples/xsd/Product/Gourmet.xsd +85 -0
  41. data/examples/xsd/Product/Health.xsd +189 -0
  42. data/examples/xsd/Product/Home.xsd +654 -0
  43. data/examples/xsd/Product/Jewelry.xsd +603 -0
  44. data/examples/xsd/Product/Miscellaneous.xsd +157 -0
  45. data/examples/xsd/Product/MusicalInstruments.xsd +853 -0
  46. data/examples/xsd/Product/Office.xsd +550 -0
  47. data/examples/xsd/Product/PetSupplies.xsd +40 -0
  48. data/examples/xsd/Product/ProductClothing.xsd +197 -0
  49. data/examples/xsd/Product/SWVG.xsd +238 -0
  50. data/examples/xsd/Product/Sports.xsd +308 -0
  51. data/examples/xsd/Product/TiresAndWheels.xsd +159 -0
  52. data/examples/xsd/Product/Tools.xsd +66 -0
  53. data/examples/xsd/Product/ToysBaby.xsd +241 -0
  54. data/examples/xsd/Product/Wireless.xsd +77 -0
  55. data/examples/xsd/ProductImage.xsd +39 -0
  56. data/examples/xsd/Relationship.xsd +47 -0
  57. data/examples/xsd/SettlementReport.xsd +158 -0
  58. data/examples/xsd/amzn-base.xsd +1601 -0
  59. data/examples/xsd/amzn-envelope.xsd +98 -0
  60. data/examples/xsd/amzn-header.xsd +45 -0
  61. data/lib/amazon/mws.rb +86 -0
  62. data/lib/amazon/mws/authentication.rb +9 -0
  63. data/lib/amazon/mws/authentication/query_string.rb +28 -0
  64. data/lib/amazon/mws/authentication/signature.rb +43 -0
  65. data/lib/amazon/mws/base.rb +61 -0
  66. data/lib/amazon/mws/connection.rb +99 -0
  67. data/lib/amazon/mws/connection/management.rb +94 -0
  68. data/lib/amazon/mws/connection/request_builder.rb +67 -0
  69. data/lib/amazon/mws/exceptions.rb +80 -0
  70. data/lib/amazon/mws/feed.rb +223 -0
  71. data/lib/amazon/mws/feed_builder.rb +67 -0
  72. data/lib/amazon/mws/feed_enumerations.rb +46 -0
  73. data/lib/amazon/mws/feed_submission.rb +14 -0
  74. data/lib/amazon/mws/lib/extensions.rb +162 -0
  75. data/lib/amazon/mws/lib/memoizable.rb +10 -0
  76. data/lib/amazon/mws/orders.rb +9 -0
  77. data/lib/amazon/mws/report.rb +310 -0
  78. data/lib/amazon/mws/report_enumerations.rb +44 -0
  79. data/lib/amazon/mws/report_info.rb +16 -0
  80. data/lib/amazon/mws/report_request.rb +19 -0
  81. data/lib/amazon/mws/report_schedule.rb +13 -0
  82. data/lib/amazon/mws/response.rb +32 -0
  83. data/lib/amazon/mws/response/cancel_feed_submissions_response.rb +14 -0
  84. data/lib/amazon/mws/response/cancel_report_requests_response.rb +14 -0
  85. data/lib/amazon/mws/response/get_feed_submission_count_response.rb +13 -0
  86. data/lib/amazon/mws/response/get_feed_submission_list_by_next_token_response.rb +15 -0
  87. data/lib/amazon/mws/response/get_feed_submission_list_response.rb +15 -0
  88. data/lib/amazon/mws/response/get_feed_submission_result_response.rb +54 -0
  89. data/lib/amazon/mws/response/get_report_count_response.rb +13 -0
  90. data/lib/amazon/mws/response/get_report_list_response.rb +15 -0
  91. data/lib/amazon/mws/response/get_report_request_count_response.rb +13 -0
  92. data/lib/amazon/mws/response/get_report_request_list_by_next_token_response.rb +15 -0
  93. data/lib/amazon/mws/response/get_report_request_list_response.rb +15 -0
  94. data/lib/amazon/mws/response/get_report_schedule_count_response.rb +13 -0
  95. data/lib/amazon/mws/response/get_report_schedule_list_by_next_token_response.rb +15 -0
  96. data/lib/amazon/mws/response/get_report_schedule_list_response.rb +15 -0
  97. data/lib/amazon/mws/response/manage_report_schedule_response.rb +14 -0
  98. data/lib/amazon/mws/response/request_report_response.rb +14 -0
  99. data/lib/amazon/mws/response/response_error.rb +15 -0
  100. data/lib/amazon/mws/response/submit_feed_response.rb +13 -0
  101. data/lib/amazon/mws/response/update_reports_acknowledgements_response.rb +14 -0
  102. data/lib/amazon/mws/version.rb +12 -0
  103. data/pkg/amazon-mws-0.1.0.gem +0 -0
  104. data/test/authentication_test.rb +15 -0
  105. data/test/connection_test.rb +5 -0
  106. data/test/feed_builder_test.rb +15 -0
  107. data/test/feed_submission_test.rb +32 -0
  108. data/test/feed_test.rb +64 -0
  109. data/test/query_string_test.rb +21 -0
  110. data/test/report_test.rb +29 -0
  111. data/test/request_test.rb +18 -0
  112. data/test/response_test.rb +197 -0
  113. data/test/signature_test.rb +30 -0
  114. data/test/test_config.yml +5 -0
  115. data/test/test_helper.rb +22 -0
  116. metadata +179 -0
@@ -0,0 +1,603 @@
1
+ <?xml version="1.0"?>
2
+ <!-- Revision="$Revision: #12 $" -->
3
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
4
+ <!--
5
+ $Date: 2007/10/31 $
6
+ AMAZON.COM CONFIDENTIAL.This document and the information contained in it areconfidential and proprietary information of Amazon.com and may not be reproduced,distributed or used, in whole or in part, for any purpose other than as necessary to list products for sale on the www.amazon.com web site pursuant to an agreement with Amazon.com.
7
+ -->
8
+ <xsd:include schemaLocation="amzn-base.xsd"/>
9
+ <!--
10
+ Please read the corresponding documentation that contains the recommended values for some elements of type StringNotNull.
11
+ -->
12
+ <xsd:element name="Jewelry">
13
+ <xsd:complexType>
14
+ <xsd:sequence>
15
+ <xsd:element name="ProductType">
16
+ <xsd:complexType>
17
+ <xsd:choice>
18
+ <xsd:element ref="Watch"/>
19
+ <xsd:element ref="FashionNecklaceBraceletAnklet"/>
20
+ <xsd:element ref="FashionRing"/>
21
+ <xsd:element ref="FashionEarring"/>
22
+ <xsd:element ref="FashionOther"/>
23
+ <xsd:element ref="FineNecklaceBraceletAnklet"/>
24
+ <xsd:element ref="FineRing"/>
25
+ <xsd:element ref="FineEarring"/>
26
+ <xsd:element ref="FineOther"/>
27
+ </xsd:choice>
28
+ </xsd:complexType>
29
+ </xsd:element>
30
+ </xsd:sequence>
31
+ </xsd:complexType>
32
+ </xsd:element>
33
+ <!--
34
+ ###############################################################
35
+ # Watch Classification Data
36
+ ###############################################################
37
+ -->
38
+ <xsd:element name="Watch">
39
+ <xsd:complexType>
40
+ <xsd:sequence>
41
+ <xsd:element name="VariationData" minOccurs="0">
42
+ <xsd:complexType>
43
+ <xsd:sequence>
44
+ <xsd:element name="Parentage">
45
+ <xsd:simpleType>
46
+ <xsd:restriction base="xsd:string">
47
+ <xsd:enumeration value="parent"/>
48
+ <xsd:enumeration value="child"/>
49
+ </xsd:restriction>
50
+ </xsd:simpleType>
51
+ </xsd:element>
52
+ <xsd:element name="VariationTheme" minOccurs="0">
53
+ <xsd:simpleType>
54
+ <xsd:restriction base="xsd:string">
55
+ <xsd:enumeration value="BandColor"/>
56
+ </xsd:restriction>
57
+ </xsd:simpleType>
58
+ </xsd:element>
59
+ </xsd:sequence>
60
+ </xsd:complexType>
61
+ </xsd:element>
62
+ <xsd:element name="BandColor" type="FortyStringNotNull" minOccurs="0"/>
63
+ <xsd:element name="BandMaterial" type="StringNotNull" minOccurs="0"/>
64
+ <xsd:element name="BandLength" type="StringNotNull" minOccurs="0"/>
65
+ <xsd:element name="BandWidth" type="LengthDimension" minOccurs="0"/>
66
+ <xsd:element name="ClaspType" type="StringNotNull" minOccurs="0"/>
67
+ <xsd:element name="CaseMaterial" type="StringNotNull" minOccurs="0" maxOccurs="2"/>
68
+ <xsd:element name="CaseSizeThickness" type="LengthDimension" minOccurs="0"/>
69
+ <xsd:element name="CaseSizeDiameter" type="LengthDimension" minOccurs="0"/>
70
+ <xsd:element name="MetalStamp" type="StringNotNull" minOccurs="0"/>
71
+ <xsd:element name="DialColor" type="StringNotNull" minOccurs="0"/>
72
+ <xsd:element name="BezelMaterial" type="StringNotNull" minOccurs="0"/>
73
+ <xsd:element name="BezelFunction" type="StringNotNull" minOccurs="0"/>
74
+ <xsd:element name="GemType" type="StringNotNull" minOccurs="0"/>
75
+ <xsd:element name="Crystal" type="StringNotNull" minOccurs="0"/>
76
+ <xsd:element name="MovementType" type="StringNotNull" minOccurs="0"/>
77
+ <xsd:element name="CalendarType" type="StringNotNull" minOccurs="0"/>
78
+ <xsd:element name="WaterResistantDepth" type="LengthDimension" minOccurs="0"/>
79
+ <xsd:element name="ResaleType" type="StringNotNull" minOccurs="0"/>
80
+ <xsd:element name="WarrantyType" type="StringNotNull" minOccurs="0"/>
81
+ <xsd:element name="SellerWarrantyDescription" type="StringNotNull" minOccurs="0"/>
82
+ <xsd:element name="EstatePeriod" type="StringNotNull" minOccurs="0"/>
83
+ <xsd:element name="CountryOfOrigin" minOccurs="0">
84
+ <xsd:simpleType>
85
+ <xsd:restriction base="xsd:string">
86
+ <xsd:length value="2" fixed="true"/>
87
+ </xsd:restriction>
88
+ </xsd:simpleType>
89
+ </xsd:element>
90
+ <xsd:element name="ItemShape" type="StringNotNull" minOccurs="0"/>
91
+ <xsd:element name="SpecialFeatures" type="StringNotNull" minOccurs="0" maxOccurs="5"/>
92
+ <xsd:element name="DisplayType" type="StringNotNull" minOccurs="0"/>
93
+ <xsd:element name="MaximumWaterPressure" type="PressureDimension" minOccurs="0"/>
94
+ </xsd:sequence>
95
+ </xsd:complexType>
96
+ </xsd:element>
97
+ <!--
98
+ ###############################################################
99
+ # FashionNecklaceBraceletAnklet Classification Data
100
+ ###############################################################
101
+ -->
102
+ <xsd:element name="FashionNecklaceBraceletAnklet">
103
+ <xsd:complexType>
104
+ <xsd:sequence>
105
+ <xsd:element name="VariationData" minOccurs="0">
106
+ <xsd:complexType>
107
+ <xsd:sequence>
108
+ <xsd:element name="Parentage">
109
+ <xsd:simpleType>
110
+ <xsd:restriction base="xsd:string">
111
+ <xsd:enumeration value="parent"/>
112
+ <xsd:enumeration value="child"/>
113
+ </xsd:restriction>
114
+ </xsd:simpleType>
115
+ </xsd:element>
116
+ <xsd:element name="VariationTheme" minOccurs="0">
117
+ <xsd:simpleType>
118
+ <xsd:restriction base="xsd:string">
119
+ <xsd:enumeration value="Length"/>
120
+ <xsd:enumeration value="MetalType"/>
121
+ <xsd:enumeration value="Length-MetalType"/>
122
+ </xsd:restriction>
123
+ </xsd:simpleType>
124
+ </xsd:element>
125
+ <xsd:element name="Length" type="LengthDimension" minOccurs="0"/>
126
+ <xsd:element name="MetalType" type="StringNotNull" minOccurs="0"/>
127
+ </xsd:sequence>
128
+ </xsd:complexType>
129
+ </xsd:element>
130
+ <xsd:element name="ClaspType" type="StringNotNull" minOccurs="0"/>
131
+ <xsd:element name="Material" type="StringNotNull" minOccurs="0" maxOccurs="4"/>
132
+ <xsd:element name="MetalStamp" type="StringNotNull" minOccurs="0"/>
133
+ <xsd:element name="SettingType" type="StringNotNull" minOccurs="0"/>
134
+ <xsd:element name="Diameter" type="LengthDimension" minOccurs="0"/>
135
+ <xsd:element name="Height" type="LengthDimension" minOccurs="0"/>
136
+ <xsd:element name="Width" type="LengthDimension" minOccurs="0"/>
137
+ <xsd:element name="ChainType" type="StringNotNull" minOccurs="0"/>
138
+ <xsd:element name="ChainDescription" type="StringNotNull" minOccurs="0"/>
139
+ <xsd:element name="EstatePeriod" type="StringNotNull" minOccurs="0"/>
140
+ <xsd:element name="SellerWarrantyDescription" type="StringNotNull" minOccurs="0"/>
141
+ </xsd:sequence>
142
+ </xsd:complexType>
143
+ </xsd:element>
144
+ <!--
145
+ ###############################################################
146
+ # FashionRing Classification Data
147
+ ###############################################################
148
+ -->
149
+ <xsd:element name="FashionRing">
150
+ <xsd:complexType>
151
+ <xsd:sequence>
152
+ <xsd:element name="VariationData" minOccurs="0">
153
+ <xsd:complexType>
154
+ <xsd:sequence>
155
+ <xsd:element name="Parentage">
156
+ <xsd:simpleType>
157
+ <xsd:restriction base="xsd:string">
158
+ <xsd:enumeration value="parent"/>
159
+ <xsd:enumeration value="child"/>
160
+ </xsd:restriction>
161
+ </xsd:simpleType>
162
+ </xsd:element>
163
+ <xsd:element name="VariationTheme" minOccurs="0">
164
+ <xsd:simpleType>
165
+ <xsd:restriction base="xsd:string">
166
+ <xsd:enumeration value="RingSize"/>
167
+ <xsd:enumeration value="MetalType"/>
168
+ <xsd:enumeration value="MetalType-RingSize"/>
169
+ </xsd:restriction>
170
+ </xsd:simpleType>
171
+ </xsd:element>
172
+ <xsd:element name="RingSize" minOccurs="0">
173
+ <xsd:simpleType>
174
+ <xsd:restriction base="xsd:normalizedString">
175
+ <xsd:minLength value="1"/>
176
+ <xsd:maxLength value="13"/>
177
+ </xsd:restriction>
178
+ </xsd:simpleType>
179
+ </xsd:element>
180
+ <xsd:element name="MetalType" type="StringNotNull" minOccurs="0"/>
181
+ </xsd:sequence>
182
+ </xsd:complexType>
183
+ </xsd:element>
184
+ <xsd:element name="Material" type="StringNotNull" minOccurs="0" maxOccurs="4"/>
185
+ <xsd:element name="MetalStamp" type="StringNotNull" minOccurs="0"/>
186
+ <xsd:element name="SettingType" type="StringNotNull" minOccurs="0"/>
187
+ <xsd:element name="Diameter" type="LengthDimension" minOccurs="0"/>
188
+ <xsd:element name="Height" type="LengthDimension" minOccurs="0"/>
189
+ <xsd:element name="Width" type="LengthDimension" minOccurs="0"/>
190
+ <xsd:element name="Length" type="LengthDimension" minOccurs="0"/>
191
+ <xsd:element name="EstatePeriod" type="StringNotNull" minOccurs="0"/>
192
+ <xsd:element name="SellerWarrantyDescription" type="StringNotNull" minOccurs="0"/>
193
+ </xsd:sequence>
194
+ </xsd:complexType>
195
+ </xsd:element>
196
+ <!--
197
+ ###############################################################
198
+ # FashionEarring Classification Data
199
+ ###############################################################
200
+ -->
201
+ <xsd:element name="FashionEarring">
202
+ <xsd:complexType>
203
+ <xsd:sequence>
204
+ <xsd:element name="VariationData" minOccurs="0">
205
+ <xsd:complexType>
206
+ <xsd:sequence>
207
+ <xsd:element name="Parentage">
208
+ <xsd:simpleType>
209
+ <xsd:restriction base="xsd:string">
210
+ <xsd:enumeration value="parent"/>
211
+ <xsd:enumeration value="child"/>
212
+ </xsd:restriction>
213
+ </xsd:simpleType>
214
+ </xsd:element>
215
+ <xsd:element name="VariationTheme" minOccurs="0">
216
+ <xsd:simpleType>
217
+ <xsd:restriction base="xsd:string">
218
+ <xsd:enumeration value="MetalType"/>
219
+ </xsd:restriction>
220
+ </xsd:simpleType>
221
+ </xsd:element>
222
+ <xsd:element name="MetalType" type="StringNotNull" minOccurs="0"/>
223
+ </xsd:sequence>
224
+ </xsd:complexType>
225
+ </xsd:element>
226
+ <xsd:element name="Material" type="StringNotNull" minOccurs="0" maxOccurs="4"/>
227
+ <xsd:element name="MetalStamp" type="StringNotNull" minOccurs="0"/>
228
+ <xsd:element name="SettingType" type="StringNotNull" minOccurs="0"/>
229
+ <xsd:element name="Diameter" type="LengthDimension" minOccurs="0"/>
230
+ <xsd:element name="Height" type="LengthDimension" minOccurs="0"/>
231
+ <xsd:element name="Width" type="LengthDimension" minOccurs="0"/>
232
+ <xsd:element name="Length" type="LengthDimension" minOccurs="0"/>
233
+ <xsd:element name="BackFinding" type="StringNotNull" minOccurs="0"/>
234
+ <xsd:element name="EstatePeriod" type="StringNotNull" minOccurs="0"/>
235
+ <xsd:element name="SellerWarrantyDescription" type="StringNotNull" minOccurs="0"/>
236
+ </xsd:sequence>
237
+ </xsd:complexType>
238
+ </xsd:element>
239
+ <!--
240
+ ###############################################################
241
+ # FashionOther Classification Data
242
+ ###############################################################
243
+ -->
244
+ <xsd:element name="FashionOther">
245
+ <xsd:complexType>
246
+ <xsd:sequence>
247
+ <xsd:element name="VariationData" minOccurs="0">
248
+ <xsd:complexType>
249
+ <xsd:sequence>
250
+ <xsd:element name="Parentage">
251
+ <xsd:simpleType>
252
+ <xsd:restriction base="xsd:string">
253
+ <xsd:enumeration value="parent"/>
254
+ <xsd:enumeration value="child"/>
255
+ </xsd:restriction>
256
+ </xsd:simpleType>
257
+ </xsd:element>
258
+ <xsd:element name="VariationTheme" minOccurs="0">
259
+ <xsd:simpleType>
260
+ <xsd:restriction base="xsd:string">
261
+ <xsd:enumeration value="Length"/>
262
+ <xsd:enumeration value="MetalType"/>
263
+ <xsd:enumeration value="Length-MetalType"/>
264
+ </xsd:restriction>
265
+ </xsd:simpleType>
266
+ </xsd:element>
267
+ <xsd:element name="Length" type="LengthDimension" minOccurs="0"/>
268
+ <xsd:element name="MetalType" type="StringNotNull" minOccurs="0"/>
269
+ </xsd:sequence>
270
+ </xsd:complexType>
271
+ </xsd:element>
272
+ <xsd:element name="Material" type="StringNotNull" minOccurs="0" maxOccurs="4"/>
273
+ <xsd:element name="MetalStamp" type="StringNotNull" minOccurs="0"/>
274
+ <xsd:element name="TotalMetalWeight" type="JewelryWeightDimension" minOccurs="0"/>
275
+ <xsd:element name="Diameter" type="LengthDimension" minOccurs="0"/>
276
+ <xsd:element name="Height" type="LengthDimension" minOccurs="0"/>
277
+ <xsd:element name="Width" type="LengthDimension" minOccurs="0"/>
278
+ <xsd:element name="EstatePeriod" type="StringNotNull" minOccurs="0"/>
279
+ <xsd:element name="SellerWarrantyDescription" type="StringNotNull" minOccurs="0"/>
280
+ </xsd:sequence>
281
+ </xsd:complexType>
282
+ </xsd:element>
283
+ <!--
284
+ ###############################################################
285
+ # FineNecklaceBraceletAnklet Classification Data
286
+ ###############################################################
287
+ -->
288
+ <xsd:element name="FineNecklaceBraceletAnklet">
289
+ <xsd:complexType>
290
+ <xsd:sequence>
291
+ <xsd:element name="VariationData" minOccurs="0">
292
+ <xsd:complexType>
293
+ <xsd:sequence>
294
+ <xsd:element name="Parentage">
295
+ <xsd:simpleType>
296
+ <xsd:restriction base="xsd:string">
297
+ <xsd:enumeration value="parent"/>
298
+ <xsd:enumeration value="child"/>
299
+ </xsd:restriction>
300
+ </xsd:simpleType>
301
+ </xsd:element>
302
+ <xsd:element name="VariationTheme" minOccurs="0">
303
+ <xsd:simpleType>
304
+ <xsd:restriction base="xsd:string">
305
+ <xsd:enumeration value="Length"/>
306
+ <xsd:enumeration value="MetalType"/>
307
+ <xsd:enumeration value="SizePerPearl"/>
308
+ <xsd:enumeration value="TotalDiamondWeight"/>
309
+ <xsd:enumeration value="Length-TotalDiamondWeight"/>
310
+ <xsd:enumeration value="Length-SizePerPearl"/>
311
+ <xsd:enumeration value="MetalType-TotalDiamondWeight"/>
312
+ <xsd:enumeration value="MetalType-SizePerPearl"/>
313
+ <xsd:enumeration value="MetalStamp"/>
314
+ <xsd:enumeration value="GemType"/>
315
+ <xsd:enumeration value="GemType-MetalType"/>
316
+ <xsd:enumeration value="MetalType-MetalStamp"/>
317
+ <xsd:enumeration value="MetalType-Length"/>
318
+ <xsd:enumeration value="GemType-Length"/>
319
+ <xsd:enumeration value="StoneShape-MetalType"/>
320
+ </xsd:restriction>
321
+ </xsd:simpleType>
322
+ </xsd:element>
323
+ <xsd:element name="Length" type="LengthDimension" minOccurs="0"/>
324
+ <xsd:element name="MetalType" type="StringNotNull" minOccurs="0"/>
325
+ <xsd:element name="TotalDiamondWeight" type="JewelryWeightDimension" minOccurs="0"/>
326
+ </xsd:sequence>
327
+ </xsd:complexType>
328
+ </xsd:element>
329
+ <xsd:element name="ClaspType" type="StringNotNull" minOccurs="0"/>
330
+ <xsd:element name="Material" type="StringNotNull" minOccurs="0" maxOccurs="4"/>
331
+ <xsd:element name="MetalStamp" type="StringNotNull" minOccurs="0"/>
332
+ <xsd:element name="SettingType" type="StringNotNull" minOccurs="0"/>
333
+ <xsd:element name="Certificate" type="CertificateType" minOccurs="0" maxOccurs="9"/>
334
+ <xsd:element name="TotalGemWeight" type="JewelryWeightDimension" minOccurs="0"/>
335
+ <xsd:element name="TotalMetalWeight" type="JewelryWeightDimension" minOccurs="0"/>
336
+ <xsd:element name="Diameter" type="LengthDimension" minOccurs="0"/>
337
+ <xsd:element name="Height" type="LengthDimension" minOccurs="0"/>
338
+ <xsd:element name="Width" type="LengthDimension" minOccurs="0"/>
339
+ <xsd:element name="ChainType" type="StringNotNull" minOccurs="0"/>
340
+ <xsd:element name="ChainDescription" type="StringNotNull" minOccurs="0"/>
341
+ <xsd:element name="EstatePeriod" type="StringNotNull" minOccurs="0"/>
342
+ <xsd:element name="NumberOfStones" type="xsd:positiveInteger" minOccurs="0"/>
343
+ <xsd:element name="Stone" type="StoneType" minOccurs="0" maxOccurs="3"/>
344
+ <xsd:element name="NumberOfPearls" type="xsd:positiveInteger" minOccurs="0"/>
345
+ <xsd:element ref="Pearl" minOccurs="0"/>
346
+ <xsd:element name="Hallmark" type="LongString" minOccurs="0"/>
347
+ <xsd:element name="SellerWarrantyDescription" type="StringNotNull" minOccurs="0"/>
348
+ </xsd:sequence>
349
+ </xsd:complexType>
350
+ </xsd:element>
351
+ <!--
352
+ ###############################################################
353
+ # FineRing Classification Data
354
+ ###############################################################
355
+ -->
356
+ <xsd:element name="FineRing">
357
+ <xsd:complexType>
358
+ <xsd:sequence>
359
+ <xsd:element name="VariationData" minOccurs="0">
360
+ <xsd:complexType>
361
+ <xsd:sequence>
362
+ <xsd:element name="Parentage">
363
+ <xsd:simpleType>
364
+ <xsd:restriction base="xsd:string">
365
+ <xsd:enumeration value="parent"/>
366
+ <xsd:enumeration value="child"/>
367
+ </xsd:restriction>
368
+ </xsd:simpleType>
369
+ </xsd:element>
370
+ <xsd:element name="VariationTheme" minOccurs="0">
371
+ <xsd:simpleType>
372
+ <xsd:restriction base="xsd:string">
373
+ <xsd:enumeration value="RingSize"/>
374
+ <xsd:enumeration value="MetalType"/>
375
+ <xsd:enumeration value="SizePerPearl"/>
376
+ <xsd:enumeration value="TotalDiamondWeight"/>
377
+ <xsd:enumeration value="MetalType-RingSize"/>
378
+ <xsd:enumeration value="RingSize-TotalDiamondWeight"/>
379
+ <xsd:enumeration value="RingSize-SizePerPearl"/>
380
+ <xsd:enumeration value="MetalType-TotalDiamondWeight"/>
381
+ <xsd:enumeration value="MetalType-SizePerPearl"/>
382
+ <xsd:enumeration value="MetalStamp"/>
383
+ <xsd:enumeration value="GemType"/>
384
+ <xsd:enumeration value="GemType-MetalType"/>
385
+ <xsd:enumeration value="MetalType-MetalStamp"/>
386
+ <xsd:enumeration value="MetalType-RingSize"/>
387
+ <xsd:enumeration value="GemType-RingSize"/>
388
+ <xsd:enumeration value="StoneShape-MetalType"/>
389
+ <xsd:enumeration value="StoneShape-RingSize"/>
390
+ </xsd:restriction>
391
+ </xsd:simpleType>
392
+ </xsd:element>
393
+ <xsd:element name="RingSize" minOccurs="0">
394
+ <xsd:simpleType>
395
+ <xsd:restriction base="xsd:normalizedString">
396
+ <xsd:minLength value="1"/>
397
+ <xsd:maxLength value="13"/>
398
+ </xsd:restriction>
399
+ </xsd:simpleType>
400
+ </xsd:element>
401
+ <xsd:element name="MetalType" type="StringNotNull" minOccurs="0"/>
402
+ <xsd:element name="TotalDiamondWeight" type="JewelryWeightDimension" minOccurs="0"/>
403
+ </xsd:sequence>
404
+ </xsd:complexType>
405
+ </xsd:element>
406
+ <xsd:element name="Material" type="StringNotNull" minOccurs="0" maxOccurs="4"/>
407
+ <xsd:element name="MetalStamp" type="StringNotNull" minOccurs="0"/>
408
+ <xsd:element name="SettingType" type="StringNotNull" minOccurs="0"/>
409
+ <xsd:element name="Certificate" type="CertificateType" minOccurs="0" maxOccurs="9"/>
410
+ <xsd:element name="TotalGemWeight" type="JewelryWeightDimension" minOccurs="0"/>
411
+ <xsd:element name="TotalMetalWeight" type="JewelryWeightDimension" minOccurs="0"/>
412
+ <xsd:element name="Diameter" type="LengthDimension" minOccurs="0"/>
413
+ <xsd:element name="Height" type="LengthDimension" minOccurs="0"/>
414
+ <xsd:element name="Width" type="LengthDimension" minOccurs="0"/>
415
+ <xsd:element name="Length" type="LengthDimension" minOccurs="0"/>
416
+ <xsd:element name="ReSizable" type="xsd:boolean" minOccurs="0"/>
417
+ <xsd:element name="SizingLowerRange" type="Dimension" minOccurs="0"/>
418
+ <xsd:element name="SizingUpperRange" type="Dimension" minOccurs="0"/>
419
+ <xsd:element name="EstatePeriod" type="StringNotNull" minOccurs="0"/>
420
+ <xsd:element name="NumberOfStones" type="xsd:positiveInteger" minOccurs="0"/>
421
+ <xsd:element name="Stone" type="StoneType" minOccurs="0" maxOccurs="3"/>
422
+ <xsd:element name="NumberOfPearls" type="xsd:positiveInteger" minOccurs="0"/>
423
+ <xsd:element ref="Pearl" minOccurs="0"/>
424
+ <xsd:element name="Hallmark" type="LongString" minOccurs="0"/>
425
+ <xsd:element name="SellerWarrantyDescription" type="StringNotNull" minOccurs="0"/>
426
+ </xsd:sequence>
427
+ </xsd:complexType>
428
+ </xsd:element>
429
+ <!--
430
+ ###############################################################
431
+ # FineEarring Classification Data
432
+ ###############################################################
433
+ -->
434
+ <xsd:element name="FineEarring">
435
+ <xsd:complexType>
436
+ <xsd:sequence>
437
+ <xsd:element name="VariationData" minOccurs="0">
438
+ <xsd:complexType>
439
+ <xsd:sequence>
440
+ <xsd:element name="Parentage">
441
+ <xsd:simpleType>
442
+ <xsd:restriction base="xsd:string">
443
+ <xsd:enumeration value="parent"/>
444
+ <xsd:enumeration value="child"/>
445
+ </xsd:restriction>
446
+ </xsd:simpleType>
447
+ </xsd:element>
448
+ <xsd:element name="VariationTheme" minOccurs="0">
449
+ <xsd:simpleType>
450
+ <xsd:restriction base="xsd:string">
451
+ <xsd:enumeration value="MetalType"/>
452
+ <xsd:enumeration value="SizePerPearl"/>
453
+ <xsd:enumeration value="TotalDiamondWeight"/>
454
+ <xsd:enumeration value="MetalType-TotalDiamondWeight"/>
455
+ <xsd:enumeration value="MetalType-SizePerPearl"/>
456
+ <xsd:enumeration value="MetalStamp"/>
457
+ <xsd:enumeration value="GemType"/>
458
+ <xsd:enumeration value="GemType-MetalType"/>
459
+ <xsd:enumeration value="MetalType-MetalStamp"/>
460
+ <xsd:enumeration value="StoneShape-MetalType"/>
461
+ </xsd:restriction>
462
+ </xsd:simpleType>
463
+ </xsd:element>
464
+ <xsd:element name="MetalType" type="StringNotNull" minOccurs="0"/>
465
+ <xsd:element name="TotalDiamondWeight" type="JewelryWeightDimension" minOccurs="0"/>
466
+ </xsd:sequence>
467
+ </xsd:complexType>
468
+ </xsd:element>
469
+ <xsd:element name="Material" type="StringNotNull" minOccurs="0" maxOccurs="4"/>
470
+ <xsd:element name="MetalStamp" type="StringNotNull" minOccurs="0"/>
471
+ <xsd:element name="SettingType" type="StringNotNull" minOccurs="0"/>
472
+ <xsd:element name="Certificate" type="CertificateType" minOccurs="0" maxOccurs="9"/>
473
+ <xsd:element name="TotalGemWeight" type="JewelryWeightDimension" minOccurs="0"/>
474
+ <xsd:element name="TotalMetalWeight" type="JewelryWeightDimension" minOccurs="0"/>
475
+ <xsd:element name="Diameter" type="LengthDimension" minOccurs="0"/>
476
+ <xsd:element name="Height" type="LengthDimension" minOccurs="0"/>
477
+ <xsd:element name="Width" type="LengthDimension" minOccurs="0"/>
478
+ <xsd:element name="Length" type="LengthDimension" minOccurs="0"/>
479
+ <xsd:element name="BackFinding" type="StringNotNull" minOccurs="0"/>
480
+ <xsd:element name="EstatePeriod" type="StringNotNull" minOccurs="0"/>
481
+ <xsd:element name="NumberOfStones" type="xsd:positiveInteger" minOccurs="0"/>
482
+ <xsd:element name="Stone" type="StoneType" minOccurs="0" maxOccurs="3"/>
483
+ <xsd:element name="NumberOfPearls" type="xsd:positiveInteger" minOccurs="0"/>
484
+ <xsd:element ref="Pearl" minOccurs="0"/>
485
+ <xsd:element name="Hallmark" type="LongString" minOccurs="0"/>
486
+ <xsd:element name="SellerWarrantyDescription" type="StringNotNull" minOccurs="0"/>
487
+ </xsd:sequence>
488
+ </xsd:complexType>
489
+ </xsd:element>
490
+ <!--
491
+ ###############################################################
492
+ # FineOther Classification Data
493
+ ###############################################################
494
+ -->
495
+ <xsd:element name="FineOther">
496
+ <xsd:complexType>
497
+ <xsd:sequence>
498
+ <xsd:element name="VariationData" minOccurs="0">
499
+ <xsd:complexType>
500
+ <xsd:sequence>
501
+ <xsd:element name="Parentage">
502
+ <xsd:simpleType>
503
+ <xsd:restriction base="xsd:string">
504
+ <xsd:enumeration value="parent"/>
505
+ <xsd:enumeration value="child"/>
506
+ </xsd:restriction>
507
+ </xsd:simpleType>
508
+ </xsd:element>
509
+ <xsd:element name="VariationTheme" minOccurs="0">
510
+ <xsd:simpleType>
511
+ <xsd:restriction base="xsd:string">
512
+ <xsd:enumeration value="Length"/>
513
+ <xsd:enumeration value="MetalType"/>
514
+ <xsd:enumeration value="SizePerPearl"/>
515
+ <xsd:enumeration value="TotalDiamondWeight"/>
516
+ <xsd:enumeration value="Length-TotalDiamondWeight"/>
517
+ <xsd:enumeration value="Length-SizePerPearl"/>
518
+ <xsd:enumeration value="MetalType-TotalDiamondWeight"/>
519
+ <xsd:enumeration value="MetalType-SizePerPearl"/>
520
+ </xsd:restriction>
521
+ </xsd:simpleType>
522
+ </xsd:element>
523
+ <xsd:element name="Length" type="LengthDimension" minOccurs="0"/>
524
+ <xsd:element name="MetalType" type="StringNotNull" minOccurs="0"/>
525
+ <xsd:element name="TotalDiamondWeight" type="JewelryWeightDimension" minOccurs="0"/>
526
+ </xsd:sequence>
527
+ </xsd:complexType>
528
+ </xsd:element>
529
+ <xsd:element name="Material" type="StringNotNull" minOccurs="0" maxOccurs="4"/>
530
+ <xsd:element name="MetalStamp" type="StringNotNull" minOccurs="0"/>
531
+ <xsd:element name="SettingType" type="StringNotNull" minOccurs="0"/>
532
+ <xsd:element name="Certificate" type="CertificateType" minOccurs="0" maxOccurs="9"/>
533
+ <xsd:element name="TotalGemWeight" type="JewelryWeightDimension" minOccurs="0"/>
534
+ <xsd:element name="TotalMetalWeight" type="JewelryWeightDimension" minOccurs="0"/>
535
+ <xsd:element name="Diameter" type="LengthDimension" minOccurs="0"/>
536
+ <xsd:element name="Height" type="LengthDimension" minOccurs="0"/>
537
+ <xsd:element name="Width" type="LengthDimension" minOccurs="0"/>
538
+ <xsd:element name="EstatePeriod" type="StringNotNull" minOccurs="0"/>
539
+ <xsd:element name="NumberOfStones" type="xsd:positiveInteger" minOccurs="0"/>
540
+ <xsd:element name="Stone" type="StoneType" minOccurs="0" maxOccurs="3"/>
541
+ <xsd:element name="NumberOfPearls" type="xsd:positiveInteger" minOccurs="0"/>
542
+ <xsd:element ref="Pearl" minOccurs="0"/>
543
+ <xsd:element name="Hallmark" type="LongString" minOccurs="0"/>
544
+ <xsd:element name="SellerWarrantyDescription" type="StringNotNull" minOccurs="0"/>
545
+ </xsd:sequence>
546
+ </xsd:complexType>
547
+ </xsd:element>
548
+ <!--
549
+ ###############################################################
550
+ # Stone Classification Data
551
+ ###############################################################
552
+ -->
553
+ <xsd:complexType name="StoneType">
554
+ <xsd:sequence>
555
+ <xsd:element name="GemType" type="StringNotNull" minOccurs="0"/>
556
+ <xsd:element name="StoneCut" type="StringNotNull" minOccurs="0"/>
557
+ <xsd:element name="StoneColor" type="StringNotNull" minOccurs="0"/>
558
+ <xsd:element name="StoneClarity" type="StringNotNull" minOccurs="0"/>
559
+ <xsd:element name="StoneShape" type="StringNotNull" minOccurs="0"/>
560
+ <xsd:element name="StoneWeight" type="JewelryWeightDimension" minOccurs="0"/>
561
+ <xsd:element name="LabCreated" type="xsd:boolean" minOccurs="0"/>
562
+ <xsd:element name="Inscription" type="StringNotNull" minOccurs="0"/>
563
+ <xsd:element name="StoneDepthPercentage" type="FourDecimal" minOccurs="0"/>
564
+ <xsd:element name="StoneTablePercentage" type="FourDecimal" minOccurs="0"/>
565
+ <xsd:element name="StoneSymmetry" type="StringNotNull" minOccurs="0"/>
566
+ <xsd:element name="StonePolish" type="StringNotNull" minOccurs="0"/>
567
+ <xsd:element name="StoneGirdle" type="StringNotNull" minOccurs="0"/>
568
+ <xsd:element name="StoneCulet" type="StringNotNull" minOccurs="0"/>
569
+ <xsd:element name="StoneFluorescence" type="StringNotNull" minOccurs="0"/>
570
+ </xsd:sequence>
571
+ </xsd:complexType>
572
+ <!--
573
+ ###############################################################
574
+ # Pearl Classification Data
575
+ ###############################################################
576
+ -->
577
+ <xsd:element name="Pearl">
578
+ <xsd:complexType>
579
+ <xsd:sequence>
580
+ <xsd:element name="PearlType" type="StringNotNull" minOccurs="0"/>
581
+ <xsd:element name="PearlMinimumColor" type="StringNotNull" minOccurs="0"/>
582
+ <xsd:element name="PearlLustre" type="StringNotNull" minOccurs="0"/>
583
+ <xsd:element name="PearlShape" type="StringNotNull" minOccurs="0"/>
584
+ <xsd:element name="PearlUniformity" type="StringNotNull" minOccurs="0"/>
585
+ <xsd:element name="PearlSurfaceMarkingsAndBlemishes" type="StringNotNull" minOccurs="0"/>
586
+ <xsd:element name="NacreThickness" type="StringNotNull" minOccurs="0"/>
587
+ <xsd:element name="PearlStringingMethod" type="StringNotNull" minOccurs="0"/>
588
+ <xsd:element name="SizePerPearl" type="StringNotNull" minOccurs="0"/>
589
+ </xsd:sequence>
590
+ </xsd:complexType>
591
+ </xsd:element>
592
+ <!--
593
+ ###############################################################
594
+ # Certificate Classification Data
595
+ ###############################################################
596
+ -->
597
+ <xsd:complexType name="CertificateType">
598
+ <xsd:sequence>
599
+ <xsd:element name="CertificateType" type="StringNotNull"/>
600
+ <xsd:element name="CertificateNumber" type="StringNotNull"/>
601
+ </xsd:sequence>
602
+ </xsd:complexType>
603
+ </xsd:schema>