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,387 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+
3
+ <schema targetNamespace="urn:ietf:params:xml:ns:contact-1.0"
4
+ xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"
5
+ xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
6
+ xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
7
+ xmlns="http://www.w3.org/2001/XMLSchema"
8
+ elementFormDefault="qualified">
9
+ <!--
10
+ Import common element types.
11
+ -->
12
+ <import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="eppcom-1.0.xsd"/>
13
+ <import namespace="urn:ietf:params:xml:ns:epp-1.0" schemaLocation="epp-1.0.xsd"/>
14
+
15
+ <annotation>
16
+ <documentation>
17
+ Extensible Provisioning Protocol v1.0
18
+ contact provisioning schema.
19
+ </documentation>
20
+ </annotation>
21
+
22
+ <!--
23
+ Child elements found in EPP commands.
24
+ -->
25
+ <element name="check" type="contact:mIDType"/>
26
+ <element name="create" type="contact:createType"/>
27
+ <element name="delete" type="contact:sIDType"/>
28
+ <element name="info" type="contact:authIDType"/>
29
+ <element name="transfer" type="contact:authIDType"/>
30
+ <element name="update" type="contact:updateType"/>
31
+
32
+ <!--
33
+ Utility types.
34
+ -->
35
+ <simpleType name="ccType">
36
+ <restriction base="token">
37
+ <length value="2"/>
38
+ </restriction>
39
+ </simpleType>
40
+
41
+ <complexType name="e164Type">
42
+ <simpleContent>
43
+ <extension base="contact:e164StringType">
44
+ <attribute name="x" type="token"/>
45
+ </extension>
46
+ </simpleContent>
47
+ </complexType>
48
+
49
+ <simpleType name="e164StringType">
50
+ <restriction base="token">
51
+ <pattern value="(\+[0-9]{1,3}\.[0-9]{1,14})?"/>
52
+ <maxLength value="17"/>
53
+ </restriction>
54
+ </simpleType>
55
+
56
+ <simpleType name="pcType">
57
+ <restriction base="token">
58
+ <maxLength value="16"/>
59
+ </restriction>
60
+ </simpleType>
61
+
62
+ <simpleType name="postalLineType">
63
+ <restriction base="normalizedString">
64
+ <minLength value="1"/>
65
+ <maxLength value="255"/>
66
+ </restriction>
67
+ </simpleType>
68
+
69
+ <simpleType name="optPostalLineType">
70
+ <restriction base="normalizedString">
71
+ <maxLength value="255"/>
72
+ </restriction>
73
+ </simpleType>
74
+
75
+ <!--
76
+ Child elements of the <create> command.
77
+ -->
78
+ <complexType name="createType">
79
+ <sequence>
80
+ <element name="id" type="eppcom:clIDType"/>
81
+ <element name="postalInfo" type="contact:postalInfoType"
82
+ maxOccurs="2"/>
83
+ <element name="voice" type="contact:e164Type"
84
+ minOccurs="0"/>
85
+ <element name="fax" type="contact:e164Type"
86
+ minOccurs="0"/>
87
+ <element name="email" type="eppcom:minTokenType"/>
88
+ <element name="authInfo" type="contact:authInfoType"/>
89
+ <element name="disclose" type="contact:discloseType"
90
+ minOccurs="0"/>
91
+ </sequence>
92
+ </complexType>
93
+
94
+ <complexType name="postalInfoType">
95
+ <sequence>
96
+ <element name="name" type="contact:postalLineType"/>
97
+ <element name="org" type="contact:optPostalLineType"
98
+ minOccurs="0"/>
99
+ <element name="addr" type="contact:addrType"/>
100
+ </sequence>
101
+ <attribute name="type" type="contact:postalInfoEnumType"
102
+ use="required"/>
103
+ </complexType>
104
+
105
+ <simpleType name="postalInfoEnumType">
106
+ <restriction base="token">
107
+ <enumeration value="loc"/>
108
+ <enumeration value="int"/>
109
+ </restriction>
110
+ </simpleType>
111
+
112
+ <complexType name="addrType">
113
+ <sequence>
114
+ <element name="street" type="contact:optPostalLineType"
115
+ minOccurs="0" maxOccurs="3"/>
116
+ <element name="city" type="contact:postalLineType"/>
117
+ <element name="sp" type="contact:optPostalLineType"
118
+ minOccurs="0"/>
119
+ <element name="pc" type="contact:pcType"
120
+ minOccurs="0"/>
121
+ <element name="cc" type="contact:ccType"/>
122
+ </sequence>
123
+ </complexType>
124
+
125
+ <complexType name="authInfoType">
126
+ <choice>
127
+ <element name="pw" type="eppcom:pwAuthInfoType"/>
128
+ <element name="ext" type="eppcom:extAuthInfoType"/>
129
+ </choice>
130
+ </complexType>
131
+
132
+ <complexType name="discloseType">
133
+ <sequence>
134
+ <element name="name" type="contact:intLocType"
135
+ minOccurs="0" maxOccurs="2"/>
136
+ <element name="org" type="contact:intLocType"
137
+ minOccurs="0" maxOccurs="2"/>
138
+ <element name="addr" type="contact:intLocType"
139
+ minOccurs="0" maxOccurs="2"/>
140
+ <element name="voice" minOccurs="0"/>
141
+ <element name="fax" minOccurs="0"/>
142
+ <element name="email" minOccurs="0"/>
143
+ </sequence>
144
+ <attribute name="flag" type="boolean" use="required"/>
145
+ </complexType>
146
+
147
+ <complexType name="intLocType">
148
+ <attribute name="type" type="contact:postalInfoEnumType"
149
+ use="required"/>
150
+ </complexType>
151
+
152
+
153
+ <!--
154
+ Child element of commands that require only an identifier.
155
+ -->
156
+ <complexType name="sIDType">
157
+ <sequence>
158
+ <element name="id" type="eppcom:clIDType"/>
159
+ </sequence>
160
+ </complexType>
161
+
162
+ <!--
163
+ Child element of commands that accept multiple identifiers.
164
+ -->
165
+ <complexType name="mIDType">
166
+ <sequence>
167
+ <element name="id" type="eppcom:clIDType"
168
+ maxOccurs="unbounded"/>
169
+ </sequence>
170
+ </complexType>
171
+
172
+ <!--
173
+ Child elements of the <info> and <transfer> commands.
174
+ -->
175
+ <complexType name="authIDType">
176
+ <sequence>
177
+ <element name="id" type="eppcom:clIDType"/>
178
+ <element name="authInfo" type="contact:authInfoType"
179
+ minOccurs="0"/>
180
+ </sequence>
181
+ </complexType>
182
+
183
+ <!--
184
+ Child elements of the <update> command.
185
+ -->
186
+ <complexType name="updateType">
187
+ <sequence>
188
+ <element name="id" type="eppcom:clIDType"/>
189
+ <element name="add" type="contact:addRemType"
190
+ minOccurs="0"/>
191
+ <element name="rem" type="contact:addRemType"
192
+ minOccurs="0"/>
193
+ <element name="chg" type="contact:chgType"
194
+ minOccurs="0"/>
195
+ </sequence>
196
+ </complexType>
197
+
198
+ <!--
199
+ Data elements that can be added or removed.
200
+ -->
201
+ <complexType name="addRemType">
202
+ <sequence>
203
+ <element name="status" type="contact:statusType"
204
+ maxOccurs="7"/>
205
+ </sequence>
206
+ </complexType>
207
+
208
+ <!--
209
+ Data elements that can be changed.
210
+ -->
211
+ <complexType name="chgType">
212
+ <sequence>
213
+ <element name="postalInfo" type="contact:chgPostalInfoType"
214
+ minOccurs="0" maxOccurs="2"/>
215
+ <element name="voice" type="contact:e164Type"
216
+ minOccurs="0"/>
217
+ <element name="fax" type="contact:e164Type"
218
+ minOccurs="0"/>
219
+ <element name="email" type="eppcom:minTokenType"
220
+ minOccurs="0"/>
221
+ <element name="authInfo" type="contact:authInfoType"
222
+ minOccurs="0"/>
223
+ <element name="disclose" type="contact:discloseType"
224
+ minOccurs="0"/>
225
+ </sequence>
226
+ </complexType>
227
+
228
+ <complexType name="chgPostalInfoType">
229
+ <sequence>
230
+ <element name="name" type="contact:postalLineType"
231
+ minOccurs="0"/>
232
+ <element name="org" type="contact:optPostalLineType"
233
+ minOccurs="0"/>
234
+ <element name="addr" type="contact:addrType"
235
+ minOccurs="0"/>
236
+ </sequence>
237
+ <attribute name="type" type="contact:postalInfoEnumType"
238
+ use="required"/>
239
+ </complexType>
240
+
241
+ <!--
242
+ Child response elements.
243
+ -->
244
+ <element name="chkData" type="contact:chkDataType"/>
245
+ <element name="creData" type="contact:creDataType"/>
246
+ <element name="infData" type="contact:infDataType"/>
247
+ <element name="panData" type="contact:panDataType"/>
248
+ <element name="trnData" type="contact:trnDataType"/>
249
+ <!--
250
+ <check> response elements.
251
+ -->
252
+ <complexType name="chkDataType">
253
+ <sequence>
254
+ <element name="cd" type="contact:checkType"
255
+ maxOccurs="unbounded"/>
256
+ </sequence>
257
+ </complexType>
258
+
259
+ <complexType name="checkType">
260
+ <sequence>
261
+ <element name="id" type="contact:checkIDType"/>
262
+ <element name="reason" type="eppcom:reasonType"
263
+ minOccurs="0"/>
264
+ </sequence>
265
+ </complexType>
266
+
267
+ <complexType name="checkIDType">
268
+ <simpleContent>
269
+ <extension base="eppcom:clIDType">
270
+ <attribute name="avail" type="boolean"
271
+ use="required"/>
272
+ </extension>
273
+ </simpleContent>
274
+ </complexType>
275
+
276
+ <!--
277
+ <create> response elements.
278
+ -->
279
+ <complexType name="creDataType">
280
+ <sequence>
281
+ <element name="id" type="eppcom:clIDType"/>
282
+ <element name="crDate" type="dateTime"/>
283
+ </sequence>
284
+ </complexType>
285
+
286
+ <!--
287
+ <info> response elements.
288
+ -->
289
+ <complexType name="infDataType">
290
+ <sequence>
291
+ <element name="id" type="eppcom:clIDType"/>
292
+ <element name="roid" type="eppcom:roidType"/>
293
+ <element name="status" type="contact:statusType"
294
+ maxOccurs="7"/>
295
+ <element name="postalInfo" type="contact:postalInfoType"
296
+ maxOccurs="2"/>
297
+ <element name="voice" type="contact:e164Type"
298
+ minOccurs="0"/>
299
+ <element name="fax" type="contact:e164Type"
300
+ minOccurs="0"/>
301
+ <element name="email" type="eppcom:minTokenType"/>
302
+ <element name="clID" type="eppcom:clIDType"/>
303
+ <element name="crID" type="eppcom:clIDType"/>
304
+ <element name="crDate" type="dateTime"/>
305
+ <element name="upID" type="eppcom:clIDType"
306
+ minOccurs="0"/>
307
+ <element name="upDate" type="dateTime"
308
+ minOccurs="0"/>
309
+ <element name="trDate" type="dateTime"
310
+ minOccurs="0"/>
311
+ <element name="authInfo" type="contact:authInfoType"
312
+ minOccurs="0"/>
313
+ <element name="disclose" type="contact:discloseType"
314
+ minOccurs="0"/>
315
+ </sequence>
316
+ </complexType>
317
+
318
+ <!--
319
+ Status is a combination of attributes and an optional human-readable
320
+ message that may be expressed in languages other than English.
321
+ -->
322
+ <complexType name="statusType">
323
+ <simpleContent>
324
+ <extension base="normalizedString">
325
+ <attribute name="s" type="contact:statusValueType"
326
+ use="required"/>
327
+ <attribute name="lang" type="language"
328
+ default="en"/>
329
+ </extension>
330
+ </simpleContent>
331
+ </complexType>
332
+
333
+ <simpleType name="statusValueType">
334
+ <restriction base="token">
335
+ <enumeration value="clientDeleteProhibited"/>
336
+ <enumeration value="clientTransferProhibited"/>
337
+ <enumeration value="clientUpdateProhibited"/>
338
+ <enumeration value="linked"/>
339
+ <enumeration value="ok"/>
340
+ <enumeration value="pendingCreate"/>
341
+ <enumeration value="pendingDelete"/>
342
+ <enumeration value="pendingTransfer"/>
343
+ <enumeration value="pendingUpdate"/>
344
+ <enumeration value="serverDeleteProhibited"/>
345
+ <enumeration value="serverTransferProhibited"/>
346
+ <enumeration value="serverUpdateProhibited"/>
347
+ </restriction>
348
+ </simpleType>
349
+
350
+ <!--
351
+ Pending action notification response elements.
352
+ -->
353
+ <complexType name="panDataType">
354
+ <sequence>
355
+ <element name="id" type="contact:paCLIDType"/>
356
+ <element name="paTRID" type="epp:trIDType"/>
357
+ <element name="paDate" type="dateTime"/>
358
+ </sequence>
359
+ </complexType>
360
+
361
+ <complexType name="paCLIDType">
362
+ <simpleContent>
363
+ <extension base="eppcom:clIDType">
364
+ <attribute name="paResult" type="boolean"
365
+ use="required"/>
366
+ </extension>
367
+ </simpleContent>
368
+ </complexType>
369
+
370
+ <!--
371
+ <transfer> response elements.
372
+ -->
373
+ <complexType name="trnDataType">
374
+ <sequence>
375
+ <element name="id" type="eppcom:clIDType"/>
376
+ <element name="trStatus" type="eppcom:trStatusType"/>
377
+ <element name="reID" type="eppcom:clIDType"/>
378
+ <element name="reDate" type="dateTime"/>
379
+ <element name="acID" type="eppcom:clIDType"/>
380
+ <element name="acDate" type="dateTime"/>
381
+ </sequence>
382
+ </complexType>
383
+
384
+ <!--
385
+ End of schema.
386
+ -->
387
+ </schema>
@@ -0,0 +1,144 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- $Id: contact-nom-ext-1.0.xsd 31261 2010-01-29 13:29:09Z alistairb $ -->
3
+ <schema targetNamespace="http://www.nominet.org.uk/epp/xml/contact-nom-ext-1.0"
4
+ xmlns:contact="http://www.nominet.org.uk/epp/xml/contact-nom-ext-1.0"
5
+ xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
6
+ xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
7
+ xmlns:contact-std="urn:ietf:params:xml:ns:contact-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:eppcom-1.0" schemaLocation="eppcom-1.0.xsd"/>
12
+ <import namespace="urn:ietf:params:xml:ns:contact-1.0" schemaLocation="contact-1.0.xsd"/>
13
+ <import namespace="urn:ietf:params:xml:ns:epp-1.0" schemaLocation="epp-1.0.xsd"/>
14
+
15
+ <annotation>
16
+ <documentation>
17
+ Extensible Provisioning Protocol v1.0
18
+ contact extension provisioning schema.
19
+ </documentation>
20
+ </annotation>
21
+
22
+ <!-- Child elements found in EPP commands. -->
23
+ <element name="info" type="contact:infoType"/>
24
+ <element name="update" type="contact:updateType"/>
25
+ <element name="create" type="contact:createType"/>
26
+
27
+ <!-- Child elements of the <info> command. -->
28
+ <complexType name="infoType">
29
+ <sequence>
30
+ <element name="roid" type="contact:idType"/>
31
+ </sequence>
32
+ </complexType>
33
+
34
+ <simpleType name="idType">
35
+ <restriction base="token">
36
+ <pattern value="C[0-9]*(-UK)?"/>
37
+ </restriction>
38
+ </simpleType>
39
+
40
+ <!-- Child elements of the <update> command.
41
+ roid is required when the identifier cannot be determined from
42
+ a surrounding contact:updateType element -->
43
+ <complexType name="updateType">
44
+ <sequence>
45
+ <element name="trad-name" type="contact:tradNameType"
46
+ minOccurs="0"/>
47
+ <element name="type" type="contact:typeType"
48
+ minOccurs="0"/>
49
+ <element name="co-no" type="contact:coNoType"
50
+ minOccurs="0"/>
51
+ <element name="opt-out" type="contact:flagType"
52
+ minOccurs="0"/>
53
+ </sequence>
54
+ </complexType>
55
+
56
+ <!-- Child response elements. -->
57
+ <element name="infData" type="contact:infDataType"/>
58
+
59
+ <!-- <info> response elements. -
60
+ This needs to contain elements that don't appear in the main schema -
61
+ -->
62
+ <complexType name="infDataType">
63
+ <sequence>
64
+ <element name="trad-name" type="contact:tradNameType"
65
+ minOccurs="0"/>
66
+ <element name="type" type="contact:typeType"
67
+ minOccurs="0"/>
68
+ <element name="co-no" type="contact:coNoType"
69
+ minOccurs="0"/>
70
+ <element name="opt-out" type="contact:flagType"
71
+ minOccurs="0"/>
72
+ </sequence>
73
+ </complexType>
74
+
75
+ <!-- y/n flag -->
76
+ <simpleType name="flagType">
77
+ <restriction base="token">
78
+ <enumeration value="y"/>
79
+ <enumeration value="Y"/>
80
+ <enumeration value="n"/>
81
+ <enumeration value="N"/>
82
+ </restriction>
83
+ </simpleType>
84
+
85
+ <simpleType name="typeType">
86
+ <restriction base="token">
87
+ <enumeration value="LTD"/>
88
+ <enumeration value="PLC"/>
89
+ <enumeration value="IND"/>
90
+ <enumeration value="FIND"/>
91
+ <enumeration value="RCHAR"/>
92
+ <enumeration value="SCH"/>
93
+ <enumeration value="LLP"/>
94
+ <enumeration value="STRA"/>
95
+ <enumeration value="PTNR"/>
96
+ <enumeration value="GOV"/>
97
+ <enumeration value="CRC"/>
98
+ <enumeration value="STAT"/>
99
+ <enumeration value="FCORP"/>
100
+ <enumeration value="IP"/>
101
+ <enumeration value="FOTHER"/>
102
+ <enumeration value="OTHER"/>
103
+ <enumeration value="UNKNOWN"/>
104
+ </restriction>
105
+ </simpleType>
106
+
107
+ <simpleType name="coNoType">
108
+ <restriction base="token">
109
+ <maxLength value="255"/>
110
+ </restriction>
111
+ </simpleType>
112
+
113
+ <simpleType name="tradNameType">
114
+ <restriction base="token">
115
+ <maxLength value="255"/>
116
+ </restriction>
117
+ </simpleType>
118
+
119
+ <complexType name="createType">
120
+ <sequence>
121
+ <element name="trad-name" type="contact:tradNameType"
122
+ minOccurs="0"/>
123
+ <element name="type" type="contact:typeType"
124
+ minOccurs="0"/>
125
+ <element name="co-no" type="contact:coNoType"
126
+ minOccurs="0"/>
127
+ <element name="opt-out" type="contact:flagType"
128
+ minOccurs="0"/>
129
+ </sequence>
130
+ </complexType>
131
+
132
+ <simpleType name="emailType">
133
+ <restriction base="token">
134
+ <minLength value="1"/>
135
+ <!--<pattern value="^[a-z0-9\-\.]*@[a-z0-9\-\.]*$"/>-->
136
+ <pattern value=".*"/>
137
+ </restriction>
138
+ </simpleType>
139
+
140
+
141
+ </schema>
142
+
143
+
144
+