nominet-epp 0.0.12 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (197) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +24 -0
  3. data/.travis.yml +14 -0
  4. data/.yardopts +8 -2
  5. data/Gemfile +22 -0
  6. data/Gemfile.lock +64 -0
  7. data/HISTORY.md +78 -0
  8. data/LICENSE +1 -1
  9. data/README.md +23 -0
  10. data/Rakefile +2 -37
  11. data/gemfiles/Gemfile.ruby18 +13 -0
  12. data/lib/nominet-epp/client.rb +364 -0
  13. data/lib/nominet-epp/notification.rb +346 -0
  14. data/lib/nominet-epp/operations.rb +2 -7
  15. data/lib/nominet-epp/request.rb +165 -0
  16. data/lib/nominet-epp/requests/contact/check.rb +9 -0
  17. data/lib/nominet-epp/requests/contact/create.rb +60 -0
  18. data/lib/nominet-epp/requests/contact/delete.rb +9 -0
  19. data/lib/nominet-epp/requests/contact/info.rb +9 -0
  20. data/lib/nominet-epp/requests/contact/release.rb +33 -0
  21. data/lib/nominet-epp/requests/contact/update.rb +63 -0
  22. data/lib/nominet-epp/requests/custom/handshake.rb +36 -0
  23. data/lib/nominet-epp/requests/custom/list.rb +38 -0
  24. data/lib/nominet-epp/requests/custom/tag_list.rb +25 -0
  25. data/lib/nominet-epp/requests/domain/check.rb +98 -0
  26. data/lib/nominet-epp/requests/domain/create.rb +97 -0
  27. data/lib/nominet-epp/requests/domain/delete.rb +9 -0
  28. data/lib/nominet-epp/requests/domain/info.rb +9 -0
  29. data/lib/nominet-epp/requests/domain/release.rb +33 -0
  30. data/lib/nominet-epp/requests/domain/renew.rb +9 -0
  31. data/lib/nominet-epp/requests/domain/unrenew.rb +33 -0
  32. data/lib/nominet-epp/requests/domain/update.rb +134 -0
  33. data/lib/nominet-epp/requests/host/check.rb +9 -0
  34. data/lib/nominet-epp/requests/host/create.rb +9 -0
  35. data/lib/nominet-epp/requests/host/delete.rb +9 -0
  36. data/lib/nominet-epp/requests/host/info.rb +9 -0
  37. data/lib/nominet-epp/requests/host/update.rb +9 -0
  38. data/lib/nominet-epp/responses/contact/check_response.rb +10 -0
  39. data/lib/nominet-epp/responses/contact/create_response.rb +14 -0
  40. data/lib/nominet-epp/responses/contact/delete_response.rb +10 -0
  41. data/lib/nominet-epp/responses/contact/info_response.rb +89 -0
  42. data/lib/nominet-epp/responses/contact/release_response.rb +10 -0
  43. data/lib/nominet-epp/responses/contact/update_response.rb +10 -0
  44. data/lib/nominet-epp/responses/custom/handshake_response.rb +33 -0
  45. data/lib/nominet-epp/responses/custom/list_response.rb +29 -0
  46. data/lib/nominet-epp/responses/custom/tag_list_response.rb +37 -0
  47. data/lib/nominet-epp/responses/domain/check_response.rb +40 -0
  48. data/lib/nominet-epp/responses/domain/create_response.rb +10 -0
  49. data/lib/nominet-epp/responses/domain/delete_response.rb +10 -0
  50. data/lib/nominet-epp/responses/domain/info_response.rb +128 -0
  51. data/lib/nominet-epp/responses/domain/release_response.rb +10 -0
  52. data/lib/nominet-epp/responses/domain/renew_response.rb +10 -0
  53. data/lib/nominet-epp/responses/domain/unrenew_response.rb +26 -0
  54. data/lib/nominet-epp/responses/domain/update_response.rb +10 -0
  55. data/lib/nominet-epp/responses/host/check_response.rb +10 -0
  56. data/lib/nominet-epp/responses/host/create_response.rb +14 -0
  57. data/lib/nominet-epp/responses/host/delete_response.rb +10 -0
  58. data/lib/nominet-epp/responses/host/info_response.rb +14 -0
  59. data/lib/nominet-epp/responses/host/update_response.rb +10 -0
  60. data/lib/nominet-epp/responses/response.rb +27 -0
  61. data/lib/nominet-epp/version.rb +4 -0
  62. data/lib/nominet-epp.rb +60 -161
  63. data/nominet-epp.gemspec +15 -65
  64. data/test/helper.rb +57 -0
  65. data/test/notifications/test_contact_deleted_notification.rb +23 -0
  66. data/test/notifications/test_domain_cancelled_notification.rb +23 -0
  67. data/test/notifications/test_domains_released_notification.rb +34 -0
  68. data/test/notifications/test_domains_suspended_notification.rb +30 -0
  69. data/test/notifications/test_handshake_rejected_notification.rb +34 -0
  70. data/test/notifications/test_registrant_transfer_notification.rb +78 -0
  71. data/test/notifications/test_registrar_change_notification.rb +119 -0
  72. data/test/requests/contact/test_contact_check_request.rb +25 -0
  73. data/test/requests/contact/test_contact_create_request.rb +104 -0
  74. data/test/requests/contact/test_contact_delete_request.rb +20 -0
  75. data/test/requests/contact/test_contact_info_request.rb +20 -0
  76. data/test/requests/contact/test_contact_release_request.rb +29 -0
  77. data/test/requests/contact/test_contact_update_request.rb +111 -0
  78. data/test/requests/custom/test_custom_handshake_request.rb +42 -0
  79. data/test/requests/custom/test_custom_list_request.rb +44 -0
  80. data/test/requests/custom/test_custom_tag_list_request.rb +21 -0
  81. data/test/requests/domain/test_domain_check_request.rb +140 -0
  82. data/test/requests/domain/test_domain_create_request.rb +136 -0
  83. data/test/requests/domain/test_domain_delete_request.rb +20 -0
  84. data/test/requests/domain/test_domain_info_request.rb +20 -0
  85. data/test/requests/domain/test_domain_release_request.rb +29 -0
  86. data/test/requests/domain/test_domain_renew_request.rb +15 -0
  87. data/test/requests/domain/test_domain_unrenew_request.rb +32 -0
  88. data/test/requests/domain/test_domain_update_request.rb +163 -0
  89. data/test/requests/host/test_host_check_request.rb +25 -0
  90. data/test/requests/host/test_host_create_request.rb +33 -0
  91. data/test/requests/host/test_host_delete_request.rb +20 -0
  92. data/test/requests/host/test_host_info_request.rb +20 -0
  93. data/test/requests/host/test_host_update_request.rb +55 -0
  94. data/test/responses/contact/test_contact_check_response.rb +28 -0
  95. data/test/responses/contact/test_contact_create_response.rb +28 -0
  96. data/test/responses/contact/test_contact_delete_response.rb +18 -0
  97. data/test/responses/contact/test_contact_info_response.rb +79 -0
  98. data/test/responses/contact/test_contact_release_response.rb +18 -0
  99. data/test/responses/contact/test_contact_update_response.rb +18 -0
  100. data/test/responses/custom/test_custom_handshake_response.rb +27 -0
  101. data/test/responses/custom/test_custom_list_response.rb +44 -0
  102. data/test/responses/custom/test_custom_tag_list_response.rb +43 -0
  103. data/test/responses/domain/test_domain_check_response.rb +56 -0
  104. data/test/responses/domain/test_domain_create_response.rb +34 -0
  105. data/test/responses/domain/test_domain_delete_response.rb +18 -0
  106. data/test/responses/domain/test_domain_info_response.rb +76 -0
  107. data/test/responses/domain/test_domain_release_response.rb +18 -0
  108. data/test/responses/domain/test_domain_renew_response.rb +27 -0
  109. data/test/responses/domain/test_domain_unrenew_response.rb +32 -0
  110. data/test/responses/domain/test_domain_update_response.rb +18 -0
  111. data/test/responses/host/test_host_check_response.rb +28 -0
  112. data/test/responses/host/test_host_create_response.rb +28 -0
  113. data/test/responses/host/test_host_delete_response.rb +18 -0
  114. data/test/responses/host/test_host_info_response.rb +28 -0
  115. data/test/responses/host/test_host_update_response.rb +18 -0
  116. data/test/support/responses/contact/check.xml +23 -0
  117. data/test/support/responses/contact/create.xml +23 -0
  118. data/test/support/responses/contact/delete.xml +12 -0
  119. data/test/support/responses/contact/info.xml +46 -0
  120. data/test/support/responses/contact/release.xml +12 -0
  121. data/test/support/responses/contact/update.xml +12 -0
  122. data/test/support/responses/custom/handshake.xml +24 -0
  123. data/test/support/responses/custom/list.xml +28 -0
  124. data/test/support/responses/custom/list_empty.xml +21 -0
  125. data/test/support/responses/custom/tag_list.xml +28 -0
  126. data/test/support/responses/domain/check-direct-rights.xml +1 -0
  127. data/test/support/responses/domain/check.xml +25 -0
  128. data/test/support/responses/domain/create.xml +24 -0
  129. data/test/support/responses/domain/delete.xml +12 -0
  130. data/test/support/responses/domain/info.xml +45 -0
  131. data/test/support/responses/domain/release.xml +12 -0
  132. data/test/support/responses/domain/renew.xml +24 -0
  133. data/test/support/responses/domain/unrenew.xml +26 -0
  134. data/test/support/responses/domain/update.xml +12 -0
  135. data/test/support/responses/host/check.xml +23 -0
  136. data/test/support/responses/host/create.xml +18 -0
  137. data/test/support/responses/host/delete.xml +12 -0
  138. data/test/support/responses/host/info.xml +25 -0
  139. data/test/support/responses/host/update.xml +12 -0
  140. data/test/support/responses/notifications/abuse-feed.xml +31 -0
  141. data/test/support/responses/notifications/account-change.xml +39 -0
  142. data/test/support/responses/notifications/contact-deleted.xml +22 -0
  143. data/test/support/responses/notifications/data-quality.xml +53 -0
  144. data/test/support/responses/notifications/domain-cancelled.xml +22 -0
  145. data/test/support/responses/notifications/domains-released.xml +31 -0
  146. data/test/support/responses/notifications/domains-suspended.xml +26 -0
  147. data/test/support/responses/notifications/handshake-rejected.xml +31 -0
  148. data/test/support/responses/notifications/handshake-request.xml +65 -0
  149. data/test/support/responses/notifications/hosts-cancelled.xml +28 -0
  150. data/test/support/responses/notifications/referral-accepted.xml +23 -0
  151. data/test/support/responses/notifications/referral-rejected.xml +22 -0
  152. data/test/support/responses/notifications/registrant-transfer.xml +54 -0
  153. data/test/support/responses/notifications/registrar-change.xml +67 -0
  154. data/test/support/schemas/README +12 -0
  155. data/test/support/schemas/RELEASENOTES +54 -0
  156. data/test/support/schemas/contact-1.0.xsd +387 -0
  157. data/test/support/schemas/contact-nom-ext-1.0.xsd +144 -0
  158. data/test/support/schemas/domain-1.0.xsd +432 -0
  159. data/test/support/schemas/domain-nom-ext-1.2.xsd +215 -0
  160. data/test/support/schemas/epp-1.0.xsd +403 -0
  161. data/test/support/schemas/eppcom-1.0.xsd +93 -0
  162. data/test/support/schemas/host-1.0.xsd +240 -0
  163. data/test/support/schemas/nom-abuse-feed-1.0.xsd +46 -0
  164. data/test/support/schemas/nom-direct-rights-1.0.xsd +48 -0
  165. data/test/support/schemas/nom-root-std-1.0.7.xsd +47 -0
  166. data/test/support/schemas/nom-root-tag-1.0.xsd +31 -0
  167. data/test/support/schemas/nom-tag-1.0.xsd +71 -0
  168. data/test/support/schemas/secDNS-1.1.xsd +127 -0
  169. data/test/support/schemas/std-contact-id-1.0.xsd +35 -0
  170. data/test/support/schemas/std-fork-1.0.xsd +31 -0
  171. data/test/support/schemas/std-handshake-1.0.xsd +61 -0
  172. data/test/support/schemas/std-list-1.0.xsd +55 -0
  173. data/test/support/schemas/std-locks-1.0.xsd +53 -0
  174. data/test/support/schemas/std-notifications-1.2.xsd +197 -0
  175. data/test/support/schemas/std-release-1.0.xsd +39 -0
  176. data/test/support/schemas/std-unrenew-1.0.xsd +26 -0
  177. data/test/support/schemas/std-warning-1.1.xsd +145 -0
  178. data/test/test_nominet-epp.rb +3 -3
  179. metadata +324 -104
  180. data/History.rdoc +0 -78
  181. data/README.rdoc +0 -23
  182. data/VERSION +0 -1
  183. data/lib/nominet-epp/operations/check.rb +0 -39
  184. data/lib/nominet-epp/operations/create.rb +0 -138
  185. data/lib/nominet-epp/operations/delete.rb +0 -20
  186. data/lib/nominet-epp/operations/fork.rb +0 -53
  187. data/lib/nominet-epp/operations/hello.rb +0 -11
  188. data/lib/nominet-epp/operations/info.rb +0 -93
  189. data/lib/nominet-epp/operations/list.rb +0 -83
  190. data/lib/nominet-epp/operations/lock.rb +0 -56
  191. data/lib/nominet-epp/operations/merge.rb +0 -41
  192. data/lib/nominet-epp/operations/poll.rb +0 -64
  193. data/lib/nominet-epp/operations/renew.rb +0 -40
  194. data/lib/nominet-epp/operations/transfer.rb +0 -84
  195. data/lib/nominet-epp/operations/unlock.rb +0 -56
  196. data/lib/nominet-epp/operations/unrenew.rb +0 -36
  197. data/lib/nominet-epp/operations/update.rb +0 -176
@@ -0,0 +1,432 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+
3
+ <schema targetNamespace="urn:ietf:params:xml:ns:domain-1.0"
4
+ xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
5
+ xmlns:host="urn:ietf:params:xml:ns:host-1.0"
6
+ xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
7
+ xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
8
+ xmlns="http://www.w3.org/2001/XMLSchema"
9
+ elementFormDefault="qualified">
10
+
11
+ <!--
12
+ Import common element types.
13
+ -->
14
+ <import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="eppcom-1.0.xsd"/>
15
+ <import namespace="urn:ietf:params:xml:ns:epp-1.0" schemaLocation="epp-1.0.xsd"/>
16
+ <import namespace="urn:ietf:params:xml:ns:host-1.0" schemaLocation="host-1.0.xsd"/>
17
+
18
+ <annotation>
19
+ <documentation>
20
+ Extensible Provisioning Protocol v1.0
21
+ domain provisioning schema.
22
+ </documentation>
23
+ </annotation>
24
+
25
+ <!--
26
+ Child elements found in EPP commands.
27
+ -->
28
+ <element name="check" type="domain:mNameType"/>
29
+ <element name="create" type="domain:createType"/>
30
+ <element name="delete" type="domain:sNameType"/>
31
+ <element name="info" type="domain:infoType"/>
32
+ <element name="renew" type="domain:renewType"/>
33
+ <element name="transfer" type="domain:transferType"/>
34
+ <element name="update" type="domain:updateType"/>
35
+
36
+ <!--
37
+ Child elements of the <create> command.
38
+ -->
39
+ <complexType name="createType">
40
+ <sequence>
41
+ <element name="name" type="eppcom:labelType"/>
42
+ <element name="period" type="domain:periodType"
43
+ minOccurs="0"/>
44
+ <element name="ns" type="domain:nsType"
45
+ minOccurs="0"/>
46
+ <element name="registrant" type="eppcom:clIDType"
47
+ minOccurs="0"/>
48
+ <element name="contact" type="domain:contactType"
49
+ minOccurs="0" maxOccurs="unbounded"/>
50
+ <element name="authInfo" type="domain:authInfoType"/>
51
+ </sequence>
52
+ </complexType>
53
+
54
+ <complexType name="periodType">
55
+ <simpleContent>
56
+ <extension base="domain:pLimitType">
57
+ <attribute name="unit" type="domain:pUnitType"
58
+ use="required"/>
59
+ </extension>
60
+ </simpleContent>
61
+ </complexType>
62
+
63
+ <simpleType name="pLimitType">
64
+ <restriction base="unsignedShort">
65
+ <minInclusive value="1"/>
66
+ <maxInclusive value="99"/>
67
+ </restriction>
68
+ </simpleType>
69
+
70
+ <simpleType name="pUnitType">
71
+ <restriction base="token">
72
+ <enumeration value="y"/>
73
+ <enumeration value="m"/>
74
+ </restriction>
75
+ </simpleType>
76
+
77
+ <complexType name="nsType">
78
+ <choice>
79
+ <element name="hostObj" type="eppcom:labelType"
80
+ maxOccurs="unbounded"/>
81
+ <element name="hostAttr" type="domain:hostAttrType"
82
+ maxOccurs="unbounded"/>
83
+ </choice>
84
+ </complexType>
85
+ <!--
86
+ Name servers are either host objects or attributes.
87
+ -->
88
+ <complexType name="hostAttrType">
89
+ <sequence>
90
+ <element name="hostName" type="eppcom:labelType"/>
91
+ <element name="hostAddr" type="host:addrType"
92
+ minOccurs="0" maxOccurs="unbounded"/>
93
+ </sequence>
94
+ </complexType>
95
+ <!--
96
+ If attributes, addresses are optional and follow the
97
+ structure defined in the host mapping.
98
+ -->
99
+
100
+ <complexType name="contactType">
101
+ <simpleContent>
102
+ <extension base="eppcom:clIDType">
103
+ <attribute name="type" type="domain:contactAttrType"/>
104
+ </extension>
105
+ </simpleContent>
106
+ </complexType>
107
+
108
+ <simpleType name="contactAttrType">
109
+ <restriction base="token">
110
+ <enumeration value="admin"/>
111
+ <enumeration value="billing"/>
112
+ <enumeration value="tech"/>
113
+ </restriction>
114
+ </simpleType>
115
+
116
+ <complexType name="authInfoType">
117
+ <choice>
118
+ <element name="pw" type="eppcom:pwAuthInfoType"/>
119
+ <element name="ext" type="eppcom:extAuthInfoType"/>
120
+ </choice>
121
+ </complexType>
122
+
123
+ <!--
124
+ Child element of commands that require a single name.
125
+ -->
126
+ <complexType name="sNameType">
127
+ <sequence>
128
+ <element name="name" type="eppcom:labelType"/>
129
+ </sequence>
130
+ </complexType>
131
+ <!--
132
+ Child element of commands that accept multiple names.
133
+ -->
134
+ <complexType name="mNameType">
135
+ <sequence>
136
+ <element name="name" type="eppcom:labelType"
137
+ maxOccurs="unbounded"/>
138
+ </sequence>
139
+ </complexType>
140
+
141
+ <!--
142
+ Child elements of the <info> command.
143
+ -->
144
+ <complexType name="infoType">
145
+ <sequence>
146
+ <element name="name" type="domain:infoNameType"/>
147
+ <element name="authInfo" type="domain:authInfoType"
148
+ minOccurs="0"/>
149
+ </sequence>
150
+ </complexType>
151
+
152
+ <complexType name="infoNameType">
153
+ <simpleContent>
154
+ <extension base = "eppcom:labelType">
155
+ <attribute name="hosts" type="domain:hostsType"
156
+ default="all"/>
157
+ </extension>
158
+ </simpleContent>
159
+ </complexType>
160
+
161
+ <simpleType name="hostsType">
162
+ <restriction base="token">
163
+ <enumeration value="all"/>
164
+ <enumeration value="del"/>
165
+ <enumeration value="none"/>
166
+ <enumeration value="sub"/>
167
+ </restriction>
168
+ </simpleType>
169
+
170
+ <!--
171
+ Child elements of the <renew> command.
172
+ -->
173
+ <complexType name="renewType">
174
+ <sequence>
175
+ <element name="name" type="eppcom:labelType"/>
176
+ <element name="curExpDate" type="date"/>
177
+ <element name="period" type="domain:periodType"
178
+ minOccurs="0"/>
179
+ </sequence>
180
+ </complexType>
181
+
182
+ <!--
183
+ Child elements of the <transfer> command.
184
+ -->
185
+ <complexType name="transferType">
186
+ <sequence>
187
+ <element name="name" type="eppcom:labelType"/>
188
+ <element name="period" type="domain:periodType"
189
+ minOccurs="0"/>
190
+ <element name="authInfo" type="domain:authInfoType"
191
+ minOccurs="0"/>
192
+ </sequence>
193
+ </complexType>
194
+
195
+ <!--
196
+ Child elements of the <update> command.
197
+ -->
198
+ <complexType name="updateType">
199
+ <sequence>
200
+ <element name="name" type="eppcom:labelType"/>
201
+ <element name="add" type="domain:addRemType"
202
+ minOccurs="0"/>
203
+ <element name="rem" type="domain:addRemType"
204
+ minOccurs="0"/>
205
+ <element name="chg" type="domain:chgType"
206
+ minOccurs="0"/>
207
+ </sequence>
208
+ </complexType>
209
+
210
+ <!--
211
+ Data elements that can be added or removed.
212
+ -->
213
+ <complexType name="addRemType">
214
+ <sequence>
215
+ <element name="ns" type="domain:nsType"
216
+ minOccurs="0"/>
217
+ <element name="contact" type="domain:contactType"
218
+ minOccurs="0" maxOccurs="unbounded"/>
219
+ <element name="status" type="domain:statusType"
220
+ minOccurs="0" maxOccurs="11"/>
221
+ </sequence>
222
+ </complexType>
223
+
224
+ <!--
225
+ Data elements that can be changed.
226
+ -->
227
+ <complexType name="chgType">
228
+ <sequence>
229
+ <element name="registrant" type="domain:clIDChgType"
230
+ minOccurs="0"/>
231
+ <element name="authInfo" type="domain:authInfoChgType"
232
+ minOccurs="0"/>
233
+ </sequence>
234
+ </complexType>
235
+
236
+ <!--
237
+ Allow the registrant value to be nullified by changing the
238
+ minLength restriction to "0".
239
+ -->
240
+ <simpleType name="clIDChgType">
241
+ <restriction base="token">
242
+ <minLength value="0"/>
243
+ <maxLength value="16"/>
244
+ </restriction>
245
+ </simpleType>
246
+
247
+ <!--
248
+ Allow the authInfo value to be nullified by including an
249
+ empty element within the choice.
250
+ -->
251
+ <complexType name="authInfoChgType">
252
+ <choice>
253
+ <element name="pw" type="eppcom:pwAuthInfoType"/>
254
+ <element name="ext" type="eppcom:extAuthInfoType"/>
255
+ <element name="null"/>
256
+ </choice>
257
+ </complexType>
258
+
259
+ <!--
260
+ Child response elements.
261
+ -->
262
+ <element name="chkData" type="domain:chkDataType"/>
263
+ <element name="creData" type="domain:creDataType"/>
264
+ <element name="infData" type="domain:infDataType"/>
265
+ <element name="panData" type="domain:panDataType"/>
266
+ <element name="renData" type="domain:renDataType"/>
267
+ <element name="trnData" type="domain:trnDataType"/>
268
+
269
+ <!--
270
+ <check> response elements.
271
+ -->
272
+ <complexType name="chkDataType">
273
+ <sequence>
274
+ <element name="cd" type="domain:checkType"
275
+ maxOccurs="unbounded"/>
276
+ </sequence>
277
+ </complexType>
278
+
279
+ <complexType name="checkType">
280
+ <sequence>
281
+ <element name="name" type="domain:checkNameType"/>
282
+ <element name="reason" type="eppcom:reasonType"
283
+ minOccurs="0"/>
284
+ </sequence>
285
+ </complexType>
286
+
287
+ <complexType name="checkNameType">
288
+ <simpleContent>
289
+ <extension base="eppcom:labelType">
290
+ <attribute name="avail" type="boolean"
291
+ use="required"/>
292
+ </extension>
293
+ </simpleContent>
294
+ </complexType>
295
+
296
+ <!--
297
+ <create> response elements.
298
+ -->
299
+ <complexType name="creDataType">
300
+ <sequence>
301
+ <element name="name" type="eppcom:labelType"/>
302
+ <element name="crDate" type="dateTime"/>
303
+ <element name="exDate" type="dateTime"
304
+ minOccurs="0"/>
305
+ </sequence>
306
+ </complexType>
307
+
308
+ <!--
309
+ <info> response elements.
310
+ -->
311
+ <complexType name="infDataType">
312
+ <sequence>
313
+ <element name="name" type="eppcom:labelType"/>
314
+ <element name="roid" type="eppcom:roidType"/>
315
+ <element name="status" type="domain:statusType"
316
+ minOccurs="0" maxOccurs="11"/>
317
+ <element name="registrant" type="eppcom:clIDType"
318
+ minOccurs="0"/>
319
+ <element name="contact" type="domain:contactType"
320
+ minOccurs="0" maxOccurs="unbounded"/>
321
+ <element name="ns" type="domain:nsType"
322
+ minOccurs="0"/>
323
+ <element name="host" type="eppcom:labelType"
324
+ minOccurs="0" maxOccurs="unbounded"/>
325
+ <element name="clID" type="eppcom:clIDType"/>
326
+ <element name="crID" type="eppcom:clIDType"
327
+ minOccurs="0"/>
328
+ <element name="crDate" type="dateTime"
329
+ minOccurs="0"/>
330
+ <element name="upID" type="eppcom:clIDType"
331
+ minOccurs="0"/>
332
+ <element name="upDate" type="dateTime"
333
+ minOccurs="0"/>
334
+ <element name="exDate" type="dateTime"
335
+ minOccurs="0"/>
336
+ <element name="trDate" type="dateTime"
337
+ minOccurs="0"/>
338
+ <element name="authInfo" type="domain:authInfoType"
339
+ minOccurs="0"/>
340
+ </sequence>
341
+ </complexType>
342
+
343
+ <!--
344
+ Status is a combination of attributes and an optional
345
+ human-readable message that may be expressed in languages other
346
+ than English.
347
+ -->
348
+ <complexType name="statusType">
349
+ <simpleContent>
350
+ <extension base="normalizedString">
351
+ <attribute name="s" type="domain:statusValueType"
352
+ use="required"/>
353
+ <attribute name="lang" type="language"
354
+ default="en"/>
355
+ </extension>
356
+ </simpleContent>
357
+ </complexType>
358
+
359
+ <simpleType name="statusValueType">
360
+ <restriction base="token">
361
+ <enumeration value="clientDeleteProhibited"/>
362
+ <enumeration value="clientHold"/>
363
+ <enumeration value="clientRenewProhibited"/>
364
+ <enumeration value="clientTransferProhibited"/>
365
+ <enumeration value="clientUpdateProhibited"/>
366
+ <enumeration value="inactive"/>
367
+ <enumeration value="ok"/>
368
+ <enumeration value="pendingCreate"/>
369
+ <enumeration value="pendingDelete"/>
370
+ <enumeration value="pendingRenew"/>
371
+ <enumeration value="pendingTransfer"/>
372
+ <enumeration value="pendingUpdate"/>
373
+ <enumeration value="serverDeleteProhibited"/>
374
+ <enumeration value="serverHold"/>
375
+ <enumeration value="serverRenewProhibited"/>
376
+ <enumeration value="serverTransferProhibited"/>
377
+ <enumeration value="serverUpdateProhibited"/>
378
+ </restriction>
379
+ </simpleType>
380
+
381
+ <!--
382
+ Pending action notification response elements.
383
+ -->
384
+ <complexType name="panDataType">
385
+ <sequence>
386
+ <element name="name" type="domain:paNameType"/>
387
+ <element name="paTRID" type="epp:trIDType"/>
388
+ <element name="paDate" type="dateTime"/>
389
+ </sequence>
390
+ </complexType>
391
+
392
+ <complexType name="paNameType">
393
+ <simpleContent>
394
+ <extension base="eppcom:labelType">
395
+ <attribute name="paResult" type="boolean"
396
+ use="required"/>
397
+ </extension>
398
+ </simpleContent>
399
+ </complexType>
400
+
401
+ <!--
402
+ <renew> response elements.
403
+ -->
404
+ <complexType name="renDataType">
405
+ <sequence>
406
+ <element name="name" type="eppcom:labelType"/>
407
+ <element name="exDate" type="dateTime"
408
+ minOccurs="0"/>
409
+ </sequence>
410
+ </complexType>
411
+
412
+ <!--
413
+ <transfer> response elements.
414
+ -->
415
+ <complexType name="trnDataType">
416
+ <sequence>
417
+ <element name="name" type="eppcom:labelType"/>
418
+ <element name="trStatus" type="eppcom:trStatusType"/>
419
+ <element name="reID" type="eppcom:clIDType"/>
420
+ <element name="reDate" type="dateTime"/>
421
+ <element name="acID" type="eppcom:clIDType"/>
422
+ <element name="acDate" type="dateTime"/>
423
+ <element name="exDate" type="dateTime"
424
+ minOccurs="0"/>
425
+ </sequence>
426
+ </complexType>
427
+
428
+ <!--
429
+ End of schema.
430
+ -->
431
+ </schema>
432
+
@@ -0,0 +1,215 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- $Id: domain-nom-ext-1.2.xsd 43628 2012-02-10 14:30:31Z judyb $ -->
3
+ <schema targetNamespace="http://www.nominet.org.uk/epp/xml/domain-nom-ext-1.2"
4
+ xmlns:domain="http://www.nominet.org.uk/epp/xml/domain-nom-ext-1.2"
5
+ xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
6
+ xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
7
+ xmlns:domain-std="urn:ietf:params:xml:ns:domain-1.0"
8
+ xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
9
+
10
+ <!-- Import common element types. -->
11
+ <import namespace="urn:ietf:params:xml:ns:epp-1.0" schemaLocation="epp-1.0.xsd"/>
12
+ <import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="eppcom-1.0.xsd"/>
13
+ <import namespace="urn:ietf:params:xml:ns:domain-1.0" schemaLocation="domain-1.0.xsd"/>
14
+
15
+ <annotation>
16
+ <documentation>
17
+ Extensible Provisioning Protocol v1.0
18
+ domain extension provisioning schema.
19
+ </documentation>
20
+ </annotation>
21
+
22
+ <!-- Command element extensions -->
23
+ <element name="create" type="domain:createType"/>
24
+ <element name="update" type="domain:updateType"/>
25
+
26
+ <!--
27
+ Child elements of the <create> command.
28
+ -->
29
+ <complexType name="createType">
30
+ <sequence>
31
+ <element name="first-bill" type="domain:billCodeType"
32
+ minOccurs="0"/>
33
+ <element name="recur-bill" type="domain:billCodeType"
34
+ minOccurs="0"/>
35
+ <element name="auto-bill" type="domain:autoRenewType"
36
+ minOccurs="0"/>
37
+ <element name="next-bill" type="domain:autoRenewType"
38
+ minOccurs="0"/>
39
+ <element name="auto-period" type="domain:autoPeriodType"
40
+ minOccurs="0"/>
41
+ <element name="next-period" type="domain:nextPeriodType"
42
+ minOccurs="0"/>
43
+ <element name="notes" type="domain:noteType"
44
+ minOccurs="0" maxOccurs="20"/>
45
+ <element name="reseller" type="eppcom:labelType"
46
+ minOccurs="0"/>
47
+ </sequence>
48
+ </complexType>
49
+
50
+ <simpleType name="billCodeType">
51
+ <restriction base="token">
52
+ <enumeration value="bc"/>
53
+ <enumeration value="th"/>
54
+ </restriction>
55
+ </simpleType>
56
+
57
+ <simpleType name="autoRenewType">
58
+ <restriction base="unsignedShort">
59
+ <minInclusive value="0"/>
60
+ <maxInclusive value="182"/>
61
+ </restriction>
62
+ </simpleType>
63
+
64
+ <simpleType name="noteType">
65
+ <restriction base="token">
66
+ <minLength value="0"/>
67
+ <maxLength value="200"/>
68
+ </restriction>
69
+ </simpleType>
70
+
71
+ <simpleType name="autoPeriodType">
72
+ <restriction base="unsignedShort">
73
+ <minInclusive value="1"/>
74
+ <maxInclusive value="9"/>
75
+ </restriction>
76
+ </simpleType>
77
+
78
+ <simpleType name="nextPeriodType">
79
+ <restriction base="unsignedShort">
80
+ <minInclusive value="1"/>
81
+ <maxInclusive value="9"/>
82
+ </restriction>
83
+ </simpleType>
84
+
85
+ <!--
86
+ Child elements of the <update> command.
87
+ -->
88
+ <complexType name="updateType">
89
+ <sequence>
90
+ <element name="first-bill" type="domain:billCodeUpdateType"
91
+ minOccurs="0"/>
92
+ <element name="recur-bill" type="domain:billCodeUpdateType"
93
+ minOccurs="0"/>
94
+ <element name="auto-bill" type="domain:autoRenewUpdateType"
95
+ minOccurs="0"/>
96
+ <element name="next-bill" type="domain:autoRenewUpdateType"
97
+ minOccurs="0"/>
98
+ <element name="auto-period" type="domain:autoPeriodUpdateType"
99
+ minOccurs="0"/>
100
+ <element name="next-period" type="domain:nextPeriodUpdateType"
101
+ minOccurs="0"/>
102
+ <element name="renew-not-required" type="domain:flagTypeYN"
103
+ minOccurs="0"/>
104
+ <element name="notes" type="domain:noteType"
105
+ minOccurs="0" maxOccurs="unbounded"/>
106
+ <element name="reseller" type="domain:resellerUpdateType"
107
+ minOccurs="0"/>
108
+ </sequence>
109
+ </complexType>
110
+
111
+ <simpleType name="autoRenewUpdateType">
112
+ <union memberTypes="domain:autoRenewType domain:emptyType"/>
113
+ </simpleType>
114
+
115
+ <simpleType name="billCodeUpdateType">
116
+ <union memberTypes="domain:billCodeType domain:emptyType"/>
117
+ </simpleType>
118
+
119
+ <simpleType name="autoPeriodUpdateType">
120
+ <union memberTypes="domain:autoPeriodType domain:emptyType"/>
121
+ </simpleType>
122
+
123
+ <simpleType name="nextPeriodUpdateType">
124
+ <union memberTypes="domain:nextPeriodType domain:emptyType"/>
125
+ </simpleType>
126
+
127
+ <simpleType name="emptyType">
128
+ <restriction base="string">
129
+ <minLength value="0"/>
130
+ <maxLength value="0"/>
131
+ </restriction>
132
+ </simpleType>
133
+
134
+ <simpleType name="resellerUpdateType">
135
+ <restriction base="token">
136
+ <minLength value="0"/>
137
+ <maxLength value="255"/>
138
+ </restriction>
139
+ </simpleType>
140
+
141
+ <!--
142
+ Child response elements.
143
+ -->
144
+
145
+ <element name="chkData" type="domain:chkDataType"/>
146
+
147
+ <complexType name="chkDataType">
148
+ <attribute name="abuse-limit" type="nonNegativeInteger"/>
149
+ </complexType>
150
+
151
+ <element name="infData" type="domain:infDataType"/>
152
+
153
+ <complexType name="infDataType">
154
+ <sequence>
155
+ <element name="reg-status" type="domain:regStatusType"/>
156
+ <element name="first-bill" type="domain:billCodeType"
157
+ minOccurs="0"/>
158
+ <element name="recur-bill" type="domain:billCodeType"
159
+ minOccurs="0"/>
160
+ <element name="auto-bill" type="domain:autoRenewType"
161
+ minOccurs="0"/>
162
+ <element name="auto-period" type="domain:autoPeriodType"
163
+ minOccurs="0"/>
164
+ <element name="next-bill" type="domain:autoRenewType"
165
+ minOccurs="0"/>
166
+ <element name="next-period" type="domain:nextPeriodType"
167
+ minOccurs="0"/>
168
+ <element name="renew-not-required" type="domain:flagTypeY"
169
+ minOccurs="0"/>
170
+ <element name="notes" type="domain:noteType"
171
+ minOccurs="0" maxOccurs="unbounded"/>
172
+ <element name="reseller" type="eppcom:labelType"
173
+ minOccurs="0"/>
174
+ </sequence>
175
+ </complexType>
176
+
177
+ <simpleType name="regStatusType">
178
+ <restriction base="string">
179
+ <enumeration value="Registered until expiry date."/>
180
+ <enumeration value="Renewal required."/>
181
+ <enumeration value="No longer required"/>
182
+ </restriction>
183
+ </simpleType>
184
+
185
+ <!-- y/n flag -->
186
+ <simpleType name="flagType">
187
+ <restriction base="token">
188
+ <enumeration value="y"/>
189
+ <enumeration value="Y"/>
190
+ <enumeration value="n"/>
191
+ <enumeration value="N"/>
192
+ </restriction>
193
+ </simpleType>
194
+
195
+ <!-- y flag -->
196
+ <simpleType name="flagTypeY">
197
+ <restriction base="token">
198
+ <enumeration value="y"/>
199
+ <enumeration value="Y"/>
200
+ </restriction>
201
+ </simpleType>
202
+
203
+ <!-- y/n/null flag -->
204
+ <simpleType name="flagTypeYN">
205
+ <restriction base="token">
206
+ <!-- An empty flag will clear the value (same as "n" or N") -->
207
+ <enumeration value=""/>
208
+ <enumeration value="y"/>
209
+ <enumeration value="Y"/>
210
+ <enumeration value="n"/>
211
+ <enumeration value="N"/>
212
+ </restriction>
213
+ </simpleType>
214
+
215
+ </schema>