contact-1.0.xml 11 KB

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