epp-client-base 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,430 @@
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"/>
15
+ <import namespace="urn:ietf:params:xml:ns:epp-1.0"/>
16
+ <import namespace="urn:ietf:params:xml:ns:host-1.0"/>
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
+ Child elements of the <create> command.
37
+ -->
38
+ <complexType name="createType">
39
+ <sequence>
40
+ <element name="name" type="eppcom:labelType"/>
41
+ <element name="period" type="domain:periodType"
42
+ minOccurs="0"/>
43
+ <element name="ns" type="domain:nsType"
44
+ minOccurs="0"/>
45
+ <element name="registrant" type="eppcom:clIDType"
46
+ minOccurs="0"/>
47
+ <element name="contact" type="domain:contactType"
48
+ minOccurs="0" maxOccurs="unbounded"/>
49
+ <element name="authInfo" type="domain:authInfoType"/>
50
+ </sequence>
51
+ </complexType>
52
+
53
+ <complexType name="periodType">
54
+ <simpleContent>
55
+ <extension base="domain:pLimitType">
56
+ <attribute name="unit" type="domain:pUnitType"
57
+ use="required"/>
58
+ </extension>
59
+ </simpleContent>
60
+ </complexType>
61
+
62
+ <simpleType name="pLimitType">
63
+ <restriction base="unsignedShort">
64
+ <minInclusive value="1"/>
65
+ <maxInclusive value="99"/>
66
+ </restriction>
67
+ </simpleType>
68
+
69
+ <simpleType name="pUnitType">
70
+ <restriction base="token">
71
+ <enumeration value="y"/>
72
+ <enumeration value="m"/>
73
+ </restriction>
74
+ </simpleType>
75
+
76
+ <complexType name="nsType">
77
+ <choice>
78
+ <element name="hostObj" type="eppcom:labelType"
79
+ maxOccurs="unbounded"/>
80
+ <element name="hostAttr" type="domain:hostAttrType"
81
+ maxOccurs="unbounded"/>
82
+ </choice>
83
+ </complexType>
84
+ <!--
85
+ Name servers are either host objects or attributes.
86
+ -->
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
+ Child elements of the <info> command.
142
+ -->
143
+ <complexType name="infoType">
144
+ <sequence>
145
+ <element name="name" type="domain:infoNameType"/>
146
+ <element name="authInfo" type="domain:authInfoType"
147
+ minOccurs="0"/>
148
+ </sequence>
149
+ </complexType>
150
+
151
+ <complexType name="infoNameType">
152
+ <simpleContent>
153
+ <extension base = "eppcom:labelType">
154
+ <attribute name="hosts" type="domain:hostsType"
155
+ default="all"/>
156
+ </extension>
157
+ </simpleContent>
158
+ </complexType>
159
+
160
+ <simpleType name="hostsType">
161
+ <restriction base="token">
162
+ <enumeration value="all"/>
163
+ <enumeration value="del"/>
164
+ <enumeration value="none"/>
165
+ <enumeration value="sub"/>
166
+ </restriction>
167
+ </simpleType>
168
+
169
+ <!--
170
+ Child elements of the <renew> command.
171
+ -->
172
+ <complexType name="renewType">
173
+ <sequence>
174
+ <element name="name" type="eppcom:labelType"/>
175
+ <element name="curExpDate" type="date"/>
176
+ <element name="period" type="domain:periodType"
177
+ minOccurs="0"/>
178
+ </sequence>
179
+ </complexType>
180
+
181
+ <!--
182
+ Child elements of the <transfer> command.
183
+ -->
184
+ <complexType name="transferType">
185
+ <sequence>
186
+ <element name="name" type="eppcom:labelType"/>
187
+ <element name="period" type="domain:periodType"
188
+ minOccurs="0"/>
189
+ <element name="authInfo" type="domain:authInfoType"
190
+ minOccurs="0"/>
191
+ </sequence>
192
+ </complexType>
193
+
194
+ <!--
195
+ Child elements of the <update> command.
196
+ -->
197
+ <complexType name="updateType">
198
+ <sequence>
199
+ <element name="name" type="eppcom:labelType"/>
200
+ <element name="add" type="domain:addRemType"
201
+ minOccurs="0"/>
202
+ <element name="rem" type="domain:addRemType"
203
+ minOccurs="0"/>
204
+ <element name="chg" type="domain:chgType"
205
+ minOccurs="0"/>
206
+ </sequence>
207
+ </complexType>
208
+
209
+ <!--
210
+ Data elements that can be added or removed.
211
+ -->
212
+ <complexType name="addRemType">
213
+ <sequence>
214
+ <element name="ns" type="domain:nsType"
215
+ minOccurs="0"/>
216
+ <element name="contact" type="domain:contactType"
217
+ minOccurs="0" maxOccurs="unbounded"/>
218
+ <element name="status" type="domain:statusType"
219
+ minOccurs="0" maxOccurs="11"/>
220
+ </sequence>
221
+ </complexType>
222
+
223
+ <!--
224
+ Data elements that can be changed.
225
+ -->
226
+ <complexType name="chgType">
227
+ <sequence>
228
+ <element name="registrant" type="domain:clIDChgType"
229
+ minOccurs="0"/>
230
+ <element name="authInfo" type="domain:authInfoChgType"
231
+ minOccurs="0"/>
232
+ </sequence>
233
+ </complexType>
234
+
235
+ <!--
236
+ Allow the registrant value to be nullified by changing the
237
+ minLength restriction to "0".
238
+ -->
239
+ <simpleType name="clIDChgType">
240
+ <restriction base="token">
241
+ <minLength value="0"/>
242
+ <maxLength value="16"/>
243
+ </restriction>
244
+ </simpleType>
245
+
246
+ <!--
247
+ Allow the authInfo value to be nullified by including an
248
+ empty element within the choice.
249
+ -->
250
+ <complexType name="authInfoChgType">
251
+ <choice>
252
+ <element name="pw" type="eppcom:pwAuthInfoType"/>
253
+ <element name="ext" type="eppcom:extAuthInfoType"/>
254
+ <element name="null"/>
255
+ </choice>
256
+ </complexType>
257
+
258
+ <!--
259
+ Child response elements.
260
+ -->
261
+ <element name="chkData" type="domain:chkDataType"/>
262
+ <element name="creData" type="domain:creDataType"/>
263
+ <element name="infData" type="domain:infDataType"/>
264
+ <element name="panData" type="domain:panDataType"/>
265
+ <element name="renData" type="domain:renDataType"/>
266
+ <element name="trnData" type="domain:trnDataType"/>
267
+
268
+ <!--
269
+ <check> response elements.
270
+ -->
271
+ <complexType name="chkDataType">
272
+ <sequence>
273
+ <element name="cd" type="domain:checkType"
274
+ maxOccurs="unbounded"/>
275
+ </sequence>
276
+ </complexType>
277
+
278
+ <complexType name="checkType">
279
+ <sequence>
280
+ <element name="name" type="domain:checkNameType"/>
281
+ <element name="reason" type="eppcom:reasonType"
282
+ minOccurs="0"/>
283
+ </sequence>
284
+ </complexType>
285
+
286
+ <complexType name="checkNameType">
287
+ <simpleContent>
288
+ <extension base="eppcom:labelType">
289
+ <attribute name="avail" type="boolean"
290
+ use="required"/>
291
+ </extension>
292
+ </simpleContent>
293
+ </complexType>
294
+
295
+ <!--
296
+ <create> response elements.
297
+ -->
298
+ <complexType name="creDataType">
299
+ <sequence>
300
+ <element name="name" type="eppcom:labelType"/>
301
+ <element name="crDate" type="dateTime"/>
302
+ <element name="exDate" type="dateTime"
303
+ minOccurs="0"/>
304
+ </sequence>
305
+ </complexType>
306
+
307
+ <!--
308
+ <info> response elements.
309
+ -->
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
+ End of schema.
429
+ -->
430
+ </schema>