domain-1.0.xml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <schema targetNamespace="urn:ietf:params:xml:ns:domain-1.0"
  3. xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
  4. xmlns:host="urn:ietf:params:xml:ns:host-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"/>
  13. <import namespace="urn:ietf:params:xml:ns:epp-1.0"/>
  14. <import namespace="urn:ietf:params:xml:ns:host-1.0"/>
  15. <annotation>
  16. <documentation>
  17. Extensible Provisioning Protocol v1.0
  18. domain provisioning schema.
  19. </documentation>
  20. </annotation>
  21. <!--
  22. Child elements found in EPP commands.
  23. -->
  24. <element name="check" type="domain:mNameType"/>
  25. <element name="create" type="domain:createType"/>
  26. <element name="delete" type="domain:sNameType"/>
  27. <element name="info" type="domain:infoType"/>
  28. <element name="renew" type="domain:renewType"/>
  29. <element name="transfer" type="domain:transferType"/>
  30. <element name="update" type="domain:updateType"/>
  31. <!--
  32. Child elements of the <create> command.
  33. -->
  34. <complexType name="createType">
  35. <sequence>
  36. <element name="name" type="eppcom:labelType"/>
  37. <element name="period" type="domain:periodType"
  38. minOccurs="0"/>
  39. <element name="ns" type="domain:nsType"
  40. minOccurs="0"/>
  41. <element name="registrant" type="eppcom:clIDType"
  42. minOccurs="0"/>
  43. <element name="contact" type="domain:contactType"
  44. minOccurs="0" maxOccurs="unbounded"/>
  45. <element name="authInfo" type="domain:authInfoType"/>
  46. </sequence>
  47. </complexType>
  48. <complexType name="periodType">
  49. <simpleContent>
  50. <extension base="domain:pLimitType">
  51. <attribute name="unit" type="domain:pUnitType"
  52. use="required"/>
  53. </extension>
  54. </simpleContent>
  55. </complexType>
  56. <simpleType name="pLimitType">
  57. <restriction base="unsignedShort">
  58. <minInclusive value="1"/>
  59. <maxInclusive value="99"/>
  60. </restriction>
  61. </simpleType>
  62. <simpleType name="pUnitType">
  63. <restriction base="token">
  64. <enumeration value="y"/>
  65. <enumeration value="m"/>
  66. </restriction>
  67. </simpleType>
  68. <complexType name="nsType">
  69. <choice>
  70. <element name="hostObj" type="eppcom:labelType"
  71. maxOccurs="unbounded"/>
  72. <element name="hostAttr" type="domain:hostAttrType"
  73. maxOccurs="unbounded"/>
  74. </choice>
  75. </complexType>
  76. <!--
  77. Name servers are either host objects or attributes.
  78. -->
  79. <complexType name="hostAttrType">
  80. <sequence>
  81. <element name="hostName" type="eppcom:labelType"/>
  82. <element name="hostAddr" type="host:addrType"
  83. minOccurs="0" maxOccurs="unbounded"/>
  84. </sequence>
  85. </complexType>
  86. <!--
  87. If attributes, addresses are optional and follow the
  88. structure defined in the host mapping.
  89. -->
  90. <complexType name="contactType">
  91. <simpleContent>
  92. <extension base="eppcom:clIDType">
  93. <attribute name="type" type="domain:contactAttrType"/>
  94. </extension>
  95. </simpleContent>
  96. </complexType>
  97. <simpleType name="contactAttrType">
  98. <restriction base="token">
  99. <enumeration value="admin"/>
  100. <enumeration value="billing"/>
  101. <enumeration value="tech"/>
  102. </restriction>
  103. </simpleType>
  104. <complexType name="authInfoType">
  105. <choice>
  106. <element name="pw" type="eppcom:pwAuthInfoType"/>
  107. <element name="ext" type="eppcom:extAuthInfoType"/>
  108. </choice>
  109. </complexType>
  110. <!--
  111. Child element of commands that require a single name.
  112. -->
  113. <complexType name="sNameType">
  114. <sequence>
  115. <element name="name" type="eppcom:labelType"/>
  116. </sequence>
  117. </complexType>
  118. <!--
  119. Child element of commands that accept multiple names.
  120. -->
  121. <complexType name="mNameType">
  122. <sequence>
  123. <element name="name" type="eppcom:labelType"
  124. maxOccurs="unbounded"/>
  125. </sequence>
  126. </complexType>
  127. <!--
  128. Child elements of the <info> command.
  129. -->
  130. <complexType name="infoType">
  131. <sequence>
  132. <element name="name" type="domain:infoNameType"/>
  133. <element name="authInfo" type="domain:authInfoType"
  134. minOccurs="0"/>
  135. </sequence>
  136. </complexType>
  137. <complexType name="infoNameType">
  138. <simpleContent>
  139. <extension base = "eppcom:labelType">
  140. <attribute name="hosts" type="domain:hostsType"
  141. default="all"/>
  142. </extension>
  143. </simpleContent>
  144. </complexType>
  145. <simpleType name="hostsType">
  146. <restriction base="token">
  147. <enumeration value="all"/>
  148. <enumeration value="del"/>
  149. <enumeration value="none"/>
  150. <enumeration value="sub"/>
  151. </restriction>
  152. </simpleType>
  153. <!--
  154. Child elements of the <renew> command.
  155. -->
  156. <complexType name="renewType">
  157. <sequence>
  158. <element name="name" type="eppcom:labelType"/>
  159. <element name="curExpDate" type="date"/>
  160. <element name="period" type="domain:periodType"
  161. minOccurs="0"/>
  162. </sequence>
  163. </complexType>
  164. <!--
  165. Child elements of the <transfer> command.
  166. -->
  167. <complexType name="transferType">
  168. <sequence>
  169. <element name="name" type="eppcom:labelType"/>
  170. <element name="period" type="domain:periodType"
  171. minOccurs="0"/>
  172. <element name="authInfo" type="domain:authInfoType"
  173. minOccurs="0"/>
  174. </sequence>
  175. </complexType>
  176. <!--
  177. Child elements of the <update> command.
  178. -->
  179. <complexType name="updateType">
  180. <sequence>
  181. <element name="name" type="eppcom:labelType"/>
  182. <element name="add" type="domain:addRemType"
  183. minOccurs="0"/>
  184. <element name="rem" type="domain:addRemType"
  185. minOccurs="0"/>
  186. <element name="chg" type="domain:chgType"
  187. minOccurs="0"/>
  188. </sequence>
  189. </complexType>
  190. <!--
  191. Data elements that can be added or removed.
  192. -->
  193. <complexType name="addRemType">
  194. <sequence>
  195. <element name="ns" type="domain:nsType"
  196. minOccurs="0"/>
  197. <element name="contact" type="domain:contactType"
  198. minOccurs="0" maxOccurs="unbounded"/>
  199. <element name="status" type="domain:statusType"
  200. minOccurs="0" maxOccurs="11"/>
  201. </sequence>
  202. </complexType>
  203. <!--
  204. Data elements that can be changed.
  205. -->
  206. <complexType name="chgType">
  207. <sequence>
  208. <element name="registrant" type="domain:clIDChgType"
  209. minOccurs="0"/>
  210. <element name="authInfo" type="domain:authInfoChgType"
  211. minOccurs="0"/>
  212. </sequence>
  213. </complexType>
  214. <!--
  215. Allow the registrant value to be nullified by changing the
  216. minLength restriction to "0".
  217. -->
  218. <simpleType name="clIDChgType">
  219. <restriction base="token">
  220. <minLength value="0"/>
  221. <maxLength value="16"/>
  222. </restriction>
  223. </simpleType>
  224. <!--
  225. Allow the authInfo value to be nullified by including an
  226. empty element within the choice.
  227. -->
  228. <complexType name="authInfoChgType">
  229. <choice>
  230. <element name="pw" type="eppcom:pwAuthInfoType"/>
  231. <element name="ext" type="eppcom:extAuthInfoType"/>
  232. <element name="null"/>
  233. </choice>
  234. </complexType>
  235. <!--
  236. Child response elements.
  237. -->
  238. <element name="chkData" type="domain:chkDataType"/>
  239. <element name="creData" type="domain:creDataType"/>
  240. <element name="infData" type="domain:infDataType"/>
  241. <element name="panData" type="domain:panDataType"/>
  242. <element name="renData" type="domain:renDataType"/>
  243. <element name="trnData" type="domain:trnDataType"/>
  244. <!--
  245. <check> response elements.
  246. -->
  247. <complexType name="chkDataType">
  248. <sequence>
  249. <element name="cd" type="domain:checkType"
  250. maxOccurs="unbounded"/>
  251. </sequence>
  252. </complexType>
  253. <complexType name="checkType">
  254. <sequence>
  255. <element name="name" type="domain:checkNameType"/>
  256. <element name="reason" type="eppcom:reasonType"
  257. minOccurs="0"/>
  258. </sequence>
  259. </complexType>
  260. <complexType name="checkNameType">
  261. <simpleContent>
  262. <extension base="eppcom:labelType">
  263. <attribute name="avail" type="boolean"
  264. use="required"/>
  265. </extension>
  266. </simpleContent>
  267. </complexType>
  268. <!--
  269. <create> response elements.
  270. -->
  271. <complexType name="creDataType">
  272. <sequence>
  273. <element name="name" type="eppcom:labelType"/>
  274. <element name="crDate" type="dateTime"/>
  275. <element name="exDate" type="dateTime"
  276. minOccurs="0"/>
  277. </sequence>
  278. </complexType>
  279. <!--
  280. <info> response elements.
  281. -->
  282. <complexType name="infDataType">
  283. <sequence>
  284. <element name="name" type="eppcom:labelType"/>
  285. <element name="roid" type="eppcom:roidType"/>
  286. <element name="status" type="domain:statusType"
  287. minOccurs="0" maxOccurs="11"/>
  288. <element name="registrant" type="eppcom:clIDType"
  289. minOccurs="0"/>
  290. <element name="contact" type="domain:contactType"
  291. minOccurs="0" maxOccurs="unbounded"/>
  292. <element name="ns" type="domain:nsType"
  293. minOccurs="0"/>
  294. <element name="host" type="eppcom:labelType"
  295. minOccurs="0" maxOccurs="unbounded"/>
  296. <element name="clID" type="eppcom:clIDType"/>
  297. <element name="crID" type="eppcom:clIDType"
  298. minOccurs="0"/>
  299. <element name="crDate" type="dateTime"
  300. minOccurs="0"/>
  301. <element name="upID" type="eppcom:clIDType"
  302. minOccurs="0"/>
  303. <element name="upDate" type="dateTime"
  304. minOccurs="0"/>
  305. <element name="exDate" type="dateTime"
  306. minOccurs="0"/>
  307. <element name="trDate" type="dateTime"
  308. minOccurs="0"/>
  309. <element name="authInfo" type="domain:authInfoType"
  310. minOccurs="0"/>
  311. </sequence>
  312. </complexType>
  313. <!--
  314. Status is a combination of attributes and an optional
  315. human-readable message that may be expressed in languages other
  316. than English.
  317. -->
  318. <complexType name="statusType">
  319. <simpleContent>
  320. <extension base="normalizedString">
  321. <attribute name="s" type="domain:statusValueType"
  322. use="required"/>
  323. <attribute name="lang" type="language"
  324. default="en"/>
  325. </extension>
  326. </simpleContent>
  327. </complexType>
  328. <simpleType name="statusValueType">
  329. <restriction base="token">
  330. <enumeration value="clientDeleteProhibited"/>
  331. <enumeration value="clientHold"/>
  332. <enumeration value="clientRenewProhibited"/>
  333. <enumeration value="clientTransferProhibited"/>
  334. <enumeration value="clientUpdateProhibited"/>
  335. <enumeration value="inactive"/>
  336. <enumeration value="ok"/>
  337. <enumeration value="pendingCreate"/>
  338. <enumeration value="pendingDelete"/>
  339. <enumeration value="pendingRenew"/>
  340. <enumeration value="pendingTransfer"/>
  341. <enumeration value="pendingUpdate"/>
  342. <enumeration value="serverDeleteProhibited"/>
  343. <enumeration value="serverHold"/>
  344. <enumeration value="serverRenewProhibited"/>
  345. <enumeration value="serverTransferProhibited"/>
  346. <enumeration value="serverUpdateProhibited"/>
  347. </restriction>
  348. </simpleType>
  349. <!--
  350. Pending action notification response elements.
  351. -->
  352. <complexType name="panDataType">
  353. <sequence>
  354. <element name="name" type="domain:paNameType"/>
  355. <element name="paTRID" type="epp:trIDType"/>
  356. <element name="paDate" type="dateTime"/>
  357. </sequence>
  358. </complexType>
  359. <complexType name="paNameType">
  360. <simpleContent>
  361. <extension base="eppcom:labelType">
  362. <attribute name="paResult" type="boolean"
  363. use="required"/>
  364. </extension>
  365. </simpleContent>
  366. </complexType>
  367. <!--
  368. <renew> response elements.
  369. -->
  370. <complexType name="renDataType">
  371. <sequence>
  372. <element name="name" type="eppcom:labelType"/>
  373. <element name="exDate" type="dateTime"
  374. minOccurs="0"/>
  375. </sequence>
  376. </complexType>
  377. <!--
  378. <transfer> response elements.
  379. -->
  380. <complexType name="trnDataType">
  381. <sequence>
  382. <element name="name" type="eppcom:labelType"/>
  383. <element name="trStatus" type="eppcom:trStatusType"/>
  384. <element name="reID" type="eppcom:clIDType"/>
  385. <element name="reDate" type="dateTime"/>
  386. <element name="acID" type="eppcom:clIDType"/>
  387. <element name="acDate" type="dateTime"/>
  388. <element name="exDate" type="dateTime"
  389. minOccurs="0"/>
  390. </sequence>
  391. </complexType>
  392. <!--
  393. End of schema.
  394. -->
  395. </schema>