rpid.xsd 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xs:schema targetNamespace="urn:ietf:params:xml:ns:pidf:rpid"
  3. xmlns="urn:ietf:params:xml:ns:pidf:rpid"
  4. xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model"
  5. xmlns:xs="http://www.w3.org/2001/XMLSchema"
  6. elementFormDefault="qualified"
  7. attributeFormDefault="unqualified">
  8. <xs:include schemaLocation="common-schema.xsd"/>
  9. <xs:simpleType name="activeIdle">
  10. <xs:restriction base="xs:string">
  11. <xs:enumeration value="active"/>
  12. <xs:enumeration value="idle"/>
  13. </xs:restriction>
  14. </xs:simpleType>
  15. <xs:element name="activities">
  16. <xs:annotation>
  17. <xs:documentation>
  18. Describes what the person is currently doing, expressed as
  19. an enumeration of activity-describing elements. A person
  20. can be engaged in multiple activities at the same time,
  21. e.g., traveling and having a meal.
  22. </xs:documentation>
  23. </xs:annotation>
  24. <xs:complexType>
  25. <xs:sequence>
  26. <xs:element name="note" type="Note_t" minOccurs="0"/>
  27. <xs:choice>
  28. <xs:element name="unknown" type="empty" minOccurs="0"/>
  29. <xs:sequence maxOccurs="unbounded">
  30. <xs:choice>
  31. <xs:element name="appointment"
  32. type="empty" />
  33. <xs:element name="away"
  34. type="empty" />
  35. <xs:element name="breakfast"
  36. type="empty" />
  37. <xs:element name="busy"
  38. type="empty" />
  39. <xs:element name="dinner"
  40. type="empty" />
  41. <xs:element name="holiday"
  42. type="empty" />
  43. <xs:element name="in-transit"
  44. type="empty" />
  45. <xs:element name="looking-for-work"
  46. type="empty" />
  47. <xs:element name="meal"
  48. type="empty" />
  49. <xs:element name="meeting"
  50. type="empty" />
  51. <xs:element name="on-the-phone"
  52. type="empty" />
  53. <xs:element name="performance"
  54. type="empty" />
  55. <xs:element name="permanent-absence"
  56. type="empty" />
  57. <xs:element name="playing"
  58. type="empty" />
  59. <xs:element name="presentation"
  60. type="empty" />
  61. <xs:element name="shopping"
  62. type="empty" />
  63. <xs:element name="sleeping"
  64. type="empty" />
  65. <xs:element name="spectator"
  66. type="empty" />
  67. <xs:element name="steering"
  68. type="empty" />
  69. <xs:element name="travel"
  70. type="empty" />
  71. <xs:element name="tv"
  72. type="empty" />
  73. <xs:element name="vacation"
  74. type="empty" />
  75. <xs:element name="working"
  76. type="empty" />
  77. <xs:element name="worship"
  78. type="empty" />
  79. <xs:element name="other"
  80. type="Note_t" />
  81. <xs:any namespace="##other"
  82. maxOccurs="unbounded" processContents="lax"/>
  83. </xs:choice>
  84. </xs:sequence>
  85. </xs:choice>
  86. </xs:sequence>
  87. <xs:attributeGroup ref="fromUntil"/>
  88. <xs:attribute name="id" type="xs:ID"/>
  89. <xs:anyAttribute namespace="##any" processContents="lax"/>
  90. </xs:complexType>
  91. </xs:element>
  92. <xs:element name="class" type="xs:token">
  93. <xs:annotation>
  94. <xs:documentation>
  95. Describes the class of the service, device or person.
  96. </xs:documentation>
  97. </xs:annotation>
  98. </xs:element>
  99. <xs:element name="mood">
  100. <xs:annotation>
  101. <xs:documentation>
  102. Describes the mood of the presentity.
  103. </xs:documentation>
  104. </xs:annotation>
  105. <xs:complexType>
  106. <xs:sequence>
  107. <xs:element name="note" type="Note_t" minOccurs="0"/>
  108. <xs:choice>
  109. <xs:element name="unknown" type="empty"/>
  110. <xs:sequence maxOccurs="unbounded">
  111. <xs:choice>
  112. <xs:element name="afraid"
  113. type="empty"/>
  114. <xs:element name="amazed"
  115. type="empty"/>
  116. <xs:element name="angry"
  117. type="empty"/>
  118. <xs:element name="annoyed"
  119. type="empty"/>
  120. <xs:element name="anxious"
  121. type="empty" />
  122. <xs:element name="ashamed"
  123. type="empty" />
  124. <xs:element name="bored"
  125. type="empty" />
  126. <xs:element name="brave"
  127. type="empty" />
  128. <xs:element name="calm"
  129. type="empty" />
  130. <xs:element name="cold"
  131. type="empty" />
  132. <xs:element name="confused"
  133. type="empty" />
  134. <xs:element name="contented"
  135. type="empty" />
  136. <xs:element name="cranky"
  137. type="empty" />
  138. <xs:element name="curious"
  139. type="empty" />
  140. <xs:element name="depressed"
  141. type="empty" />
  142. <xs:element name="disappointed"
  143. type="empty" />
  144. <xs:element name="disgusted"
  145. type="empty" />
  146. <xs:element name="distracted"
  147. type="empty" />
  148. <xs:element name="embarrassed"
  149. type="empty" />
  150. <xs:element name="excited"
  151. type="empty" />
  152. <xs:element name="flirtatious"
  153. type="empty" />
  154. <xs:element name="frustrated"
  155. type="empty" />
  156. <xs:element name="grumpy"
  157. type="empty" />
  158. <xs:element name="guilty"
  159. type="empty" />
  160. <xs:element name="happy"
  161. type="empty" />
  162. <xs:element name="hot"
  163. type="empty" />
  164. <xs:element name="humbled"
  165. type="empty" />
  166. <xs:element name="humiliated"
  167. type="empty" />
  168. <xs:element name="hungry"
  169. type="empty" />
  170. <xs:element name="hurt"
  171. type="empty" />
  172. <xs:element name="impressed"
  173. type="empty" />
  174. <xs:element name="in_awe"
  175. type="empty" />
  176. <xs:element name="in_love"
  177. type="empty" />
  178. <xs:element name="indignant"
  179. type="empty" />
  180. <xs:element name="interested"
  181. type="empty" />
  182. <xs:element name="invincible"
  183. type="empty" />
  184. <xs:element name="jealous"
  185. type="empty" />
  186. <xs:element name="lonely"
  187. type="empty" />
  188. <xs:element name="mean"
  189. type="empty" />
  190. <xs:element name="moody"
  191. type="empty" />
  192. <xs:element name="nervous"
  193. type="empty" />
  194. <xs:element name="neutral"
  195. type="empty" />
  196. <xs:element name="offended"
  197. type="empty" />
  198. <xs:element name="playful"
  199. type="empty" />
  200. <xs:element name="proud"
  201. type="empty" />
  202. <xs:element name="relieved"
  203. type="empty" />
  204. <xs:element name="remorseful"
  205. type="empty" />
  206. <xs:element name="restless"
  207. type="empty" />
  208. <xs:element name="sad"
  209. type="empty" />
  210. <xs:element name="sarcastic"
  211. type="empty" />
  212. <xs:element name="serious"
  213. type="empty" />
  214. <xs:element name="shocked"
  215. type="empty" />
  216. <xs:element name="shy"
  217. type="empty" />
  218. <xs:element name="sick"
  219. type="empty" />
  220. <xs:element name="sleepy"
  221. type="empty" />
  222. <xs:element name="stressed"
  223. type="empty" />
  224. <xs:element name="surprised"
  225. type="empty" />
  226. <xs:element name="thirsty"
  227. type="empty" />
  228. <xs:element name="worried"
  229. type="empty" />
  230. <xs:element name="other"
  231. type="Note_t" />
  232. <xs:any namespace="##other"
  233. maxOccurs="unbounded" processContents="lax"/>
  234. </xs:choice>
  235. </xs:sequence>
  236. </xs:choice>
  237. </xs:sequence>
  238. <xs:attributeGroup ref="fromUntil"/>
  239. <xs:attribute name="id" type="xs:ID"/>
  240. <xs:anyAttribute namespace="##any" processContents="lax"/>
  241. </xs:complexType>
  242. </xs:element>
  243. <xs:element name="place-is">
  244. <xs:complexType>
  245. <xs:sequence>
  246. <xs:element name="note" type="Note_t" minOccurs="0"/>
  247. <xs:element name="audio" minOccurs="0">
  248. <xs:complexType>
  249. <xs:choice>
  250. <xs:element name="noisy" type="empty" />
  251. <xs:element name="ok" type="empty" />
  252. <xs:element name="quiet" type="empty" />
  253. <xs:element name="unknown" type="empty" />
  254. </xs:choice>
  255. </xs:complexType>
  256. </xs:element>
  257. <xs:element name="video" minOccurs="0">
  258. <xs:complexType>
  259. <xs:choice>
  260. <xs:element name="toobright" type="empty" />
  261. <xs:element name="ok" type="empty" />
  262. <xs:element name="dark" type="empty" />
  263. <xs:element name="unknown" type="empty" />
  264. </xs:choice>
  265. </xs:complexType>
  266. </xs:element>
  267. <xs:element name="text" minOccurs="0">
  268. <xs:complexType>
  269. <xs:choice>
  270. <xs:element name="uncomfortable" type="empty" />
  271. <xs:element name="inappropriate" type="empty" />
  272. <xs:element name="ok" type="empty" />
  273. <xs:element name="unknown" type="empty" />
  274. </xs:choice>
  275. </xs:complexType>
  276. </xs:element>
  277. </xs:sequence>
  278. <xs:attributeGroup ref="fromUntil"/>
  279. <xs:attribute name="id" type="xs:ID"/>
  280. <xs:anyAttribute namespace="##any" processContents="lax"/>
  281. </xs:complexType>
  282. </xs:element>
  283. <xs:element name="place-type">
  284. <xs:annotation>
  285. <xs:documentation>
  286. Describes the type of place the person is currently at.
  287. </xs:documentation>
  288. </xs:annotation>
  289. <xs:complexType>
  290. <xs:sequence>
  291. <xs:element name="note" type="Note_t" minOccurs="0"/>
  292. <xs:choice>
  293. <xs:element name="aircraft" type="empty" />
  294. <xs:element name="airport" type="empty" />
  295. <xs:element name="arena" type="empty" />
  296. <xs:element name="automobile" type="empty" />
  297. <xs:element name="bank" type="empty" />
  298. <xs:element name="bar" type="empty" />
  299. <xs:element name="bus" type="empty" />
  300. <xs:element name="bus-station" type="empty" />
  301. <xs:element name="cafe" type="empty" />
  302. <xs:element name="classroom" type="empty" />
  303. <xs:element name="club" type="empty" />
  304. <xs:element name="construction" type="empty" />
  305. <xs:element name="convention-center" type="empty" />
  306. <xs:element name="cycle" type="empty" />
  307. <xs:element name="government" type="empty" />
  308. <xs:element name="hospital" type="empty" />
  309. <xs:element name="hotel" type="empty" />
  310. <xs:element name="industrial" type="empty" />
  311. <xs:element name="library" type="empty" />
  312. <xs:element name="office" type="empty" />
  313. <xs:element name="outdoors" type="empty" />
  314. <xs:element name="parking" type="empty" />
  315. <xs:element name="place-of-worship" type="empty" />
  316. <xs:element name="prison" type="empty" />
  317. <xs:element name="public" type="empty" />
  318. <xs:element name="public-transport" type="empty" />
  319. <xs:element name="residence" type="empty" />
  320. <xs:element name="restaurant" type="empty" />
  321. <xs:element name="school" type="empty" />
  322. <xs:element name="shopping-area" type="empty" />
  323. <xs:element name="stadium" type="empty" />
  324. <xs:element name="store" type="empty" />
  325. <xs:element name="street" type="empty" />
  326. <xs:element name="theater" type="empty" />
  327. <xs:element name="train" type="empty" />
  328. <xs:element name="train-station" type="empty" />
  329. <xs:element name="truck" type="empty" />
  330. <xs:element name="underway" type="empty" />
  331. <xs:element name="unknown" type="empty" />
  332. <xs:element name="warehouse" type="empty" />
  333. <xs:element name="water" type="empty" />
  334. <xs:element name="watercraft" type="empty" />
  335. <xs:element name="other" type="Note_t"/>
  336. <xs:any namespace="##other" maxOccurs="unbounded"
  337. processContents="lax"/>
  338. </xs:choice>
  339. </xs:sequence>
  340. <xs:attributeGroup ref="fromUntil"/>
  341. <xs:attribute name="id" type="xs:ID"/>
  342. <xs:anyAttribute namespace="##any" processContents="lax"/>
  343. </xs:complexType>
  344. </xs:element>
  345. <xs:element name="privacy">
  346. <xs:annotation>
  347. <xs:documentation>
  348. Indicates which type of communication third parties in the
  349. vicinity of the presentity are unlikely to be able to
  350. intercept accidentally or intentionally.
  351. </xs:documentation>
  352. </xs:annotation>
  353. <xs:complexType>
  354. <xs:sequence>
  355. <xs:element name="note" type="Note_t" minOccurs="0"/>
  356. <xs:choice>
  357. <xs:element name="unknown" type="empty"/>
  358. <xs:sequence minOccurs="1">
  359. <xs:element name="audio" type="empty" minOccurs="0"/>
  360. <xs:element name="text" type="empty" minOccurs="0"/>
  361. <xs:element name="video" type="empty" minOccurs="0"/>
  362. <xs:any namespace="##other" minOccurs="0"
  363. maxOccurs="unbounded" processContents="lax"/>
  364. </xs:sequence>
  365. </xs:choice>
  366. </xs:sequence>
  367. <xs:attributeGroup ref="fromUntil"/>
  368. <xs:attribute name="id" type="xs:ID"/>
  369. <xs:anyAttribute namespace="##any" processContents="lax"/>
  370. </xs:complexType>
  371. </xs:element>
  372. <xs:element name="relationship">
  373. <xs:annotation>
  374. <xs:documentation>
  375. Designates the type of relationship an alternate contact
  376. has with the presentity.
  377. </xs:documentation>
  378. </xs:annotation>
  379. <xs:complexType>
  380. <xs:sequence>
  381. <xs:element name="note" type="Note_t" minOccurs="0"/>
  382. <xs:choice>
  383. <xs:element name="assistant" type="empty" />
  384. <xs:element name="associate" type="empty" />
  385. <xs:element name="family" type="empty" />
  386. <xs:element name="friend" type="empty" />
  387. <xs:element name="other" type="Note_t" minOccurs="0" />
  388. <xs:element name="self" type="empty" />
  389. <xs:element name="supervisor" type="empty" />
  390. <xs:element name="unknown" type="empty" />
  391. <xs:any namespace="##other" maxOccurs="unbounded"
  392. processContents="lax"/>
  393. </xs:choice>
  394. </xs:sequence>
  395. </xs:complexType>
  396. </xs:element>
  397. <xs:element name="service-class">
  398. <xs:annotation>
  399. <xs:documentation>
  400. Designates the type of service offered.
  401. </xs:documentation>
  402. </xs:annotation>
  403. <xs:complexType>
  404. <xs:sequence>
  405. <xs:element name="note" type="Note_t" minOccurs="0"/>
  406. <xs:choice>
  407. <xs:element name="courier" type="empty" />
  408. <xs:element name="electronic" type="empty" />
  409. <xs:element name="freight" type="empty" />
  410. <xs:element name="in-person" type="empty" />
  411. <xs:element name="postal" type="empty" />
  412. <xs:element name="unknown" type="empty" />
  413. <xs:any namespace="##other" maxOccurs="unbounded"
  414. processContents="lax"/>
  415. </xs:choice>
  416. </xs:sequence>
  417. </xs:complexType>
  418. </xs:element>
  419. <xs:element name="sphere">
  420. <xs:annotation>
  421. <xs:documentation>
  422. Designates the current state and role that the person plays.
  423. </xs:documentation>
  424. </xs:annotation>
  425. <xs:complexType mixed="true">
  426. <xs:choice minOccurs="0">
  427. <xs:element name="home" type="empty" />
  428. <xs:element name="work" type="empty" />
  429. <xs:element name="unknown" type="empty" />
  430. <xs:any namespace="##other" maxOccurs="unbounded"
  431. processContents="lax"/>
  432. </xs:choice>
  433. <xs:attributeGroup ref="fromUntil"/>
  434. <xs:attribute name="id" type="xs:ID"/>
  435. <xs:anyAttribute namespace="##any" processContents="lax"/>
  436. </xs:complexType>
  437. </xs:element>
  438. <xs:element name="status-icon">
  439. <xs:annotation>
  440. <xs:documentation>
  441. A URI pointing to an image (icon) representing the current
  442. status of the person or service.
  443. </xs:documentation>
  444. </xs:annotation>
  445. <xs:complexType>
  446. <xs:simpleContent>
  447. <xs:extension base="xs:anyURI">
  448. <xs:attributeGroup ref="fromUntil"/>
  449. <xs:attribute name="id" type="xs:ID"/>
  450. <xs:anyAttribute namespace="##any" processContents="lax"/>
  451. </xs:extension>
  452. </xs:simpleContent>
  453. </xs:complexType>
  454. </xs:element>
  455. <xs:element name="time-offset">
  456. <xs:annotation>
  457. <xs:documentation>
  458. Describes the number of minutes of offset from UTC at the
  459. user's current location.
  460. </xs:documentation>
  461. </xs:annotation>
  462. <xs:complexType>
  463. <xs:simpleContent>
  464. <xs:extension base="xs:integer">
  465. <xs:attributeGroup ref="fromUntil"/>
  466. <xs:attribute name="description"
  467. type="xs:string"/>
  468. <xs:attribute name="id" type="xs:ID"/>
  469. <xs:anyAttribute namespace="##any" processContents="lax"/>
  470. </xs:extension>
  471. </xs:simpleContent>
  472. </xs:complexType>
  473. </xs:element>
  474. <xs:element name="user-input">
  475. <xs:annotation>
  476. <xs:documentation>
  477. Records the user-input or usage state of the service or
  478. device.
  479. </xs:documentation>
  480. </xs:annotation>
  481. <xs:complexType>
  482. <xs:simpleContent>
  483. <xs:extension base="activeIdle">
  484. <xs:attribute name="idle-threshold"
  485. type="xs:positiveInteger"/>
  486. <xs:attribute name="last-input" type="xs:dateTime"/>
  487. <xs:attribute name="id" type="xs:ID"/>
  488. <xs:anyAttribute namespace="##any"
  489. processContents="lax"/>
  490. </xs:extension>
  491. </xs:simpleContent>
  492. </xs:complexType>
  493. </xs:element>
  494. </xs:schema>