caps.xml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xs:schema xmlns:tns="urn:ietf:params:xml:ns:pidf:caps"
  3. xmlns:xs="http://www.w3.org/2001/XMLSchema"
  4. targetNamespace="urn:ietf:params:xml:ns:pidf:caps"
  5. elementFormDefault="qualified"
  6. attributeFormDefault="unqualified">
  7. <!-- This import brings in the XML language
  8. attribute xml:lang-->
  9. <xs:import namespace="http://www.w3.org/XML/1998/namespace"
  10. schemaLocation="http://www.w3.org/2001/xml.xsd"/>
  11. <!-- ROOT -->
  12. <xs:element name="servcaps" type="tns:servcapstype"/>
  13. <xs:complexType name="servcapstype">
  14. <xs:sequence>
  15. <xs:element name="actor" type="tns:actortype"
  16. minOccurs="0"/>
  17. <xs:element name="application" type="tns:applicationtype"
  18. minOccurs="0"/>
  19. <xs:element name="audio" type="tns:audiotype" minOccurs="0"/>
  20. <xs:element name="automata" type="tns:automatatype"
  21. minOccurs="0"/>
  22. <xs:element name="class" type="tns:classtype"
  23. minOccurs="0"/>
  24. <xs:element name="control" type="tns:controltype"
  25. minOccurs="0"/>
  26. <xs:element name="data" type="tns:datatype"
  27. minOccurs="0"/>
  28. <xs:element name="description" type="tns:descriptiontype"
  29. minOccurs="0" maxOccurs="unbounded"/>
  30. <xs:element name="duplex" type="tns:duplextype"
  31. minOccurs="0"/>
  32. <xs:element name="event-packages" type="tns:event-packagestype"
  33. minOccurs="0"/>
  34. <xs:element name="extensions" type="tns:extensionstype"
  35. minOccurs="0"/>
  36. <xs:element name="isfocus" type="tns:isfocustype"
  37. minOccurs="0"/>
  38. <xs:element name="message" type="tns:messagetype"
  39. minOccurs="0"/>
  40. <xs:element name="methods" type="tns:methodstype"
  41. minOccurs="0"/>
  42. <xs:element name="languages" type="tns:languagestype"
  43. minOccurs="0"/>
  44. <xs:element name="priority" type="tns:prioritytype"
  45. minOccurs="0"/>
  46. <xs:element name="schemes" type="tns:schemestype"
  47. minOccurs="0"/>
  48. <xs:element name="text" type="tns:texttype"
  49. minOccurs="0"/>
  50. <xs:element name="type" type="tns:typetype"
  51. minOccurs="0" maxOccurs="unbounded"/>
  52. <xs:element name="video" type="tns:videotype"
  53. minOccurs="0"/>
  54. <xs:any namespace="##other" processContents="lax"
  55. minOccurs="0" maxOccurs="unbounded"/>
  56. </xs:sequence>
  57. <xs:anyAttribute namespace="##any" processContents="lax"/>
  58. </xs:complexType>
  59. <xs:element name="devcaps" type="tns:devcaps"/>
  60. <xs:complexType name="devcaps">
  61. <xs:sequence>
  62. <xs:element name="description" type="tns:descriptiontype"
  63. minOccurs="0" maxOccurs="unbounded"/>
  64. <xs:element name="mobility" type="tns:mobilitytype"
  65. minOccurs="0"/>
  66. <xs:any namespace="##other" processContents="lax"
  67. minOccurs="0" maxOccurs="unbounded"/>
  68. </xs:sequence>
  69. <xs:anyAttribute namespace="##any" processContents="lax"/>
  70. </xs:complexType>
  71. <!-- AUDIO -->
  72. <xs:simpleType name="audiotype">
  73. <xs:restriction base="xs:boolean"/>
  74. </xs:simpleType>
  75. <!-- APPLICATION -->
  76. <xs:simpleType name="applicationtype">
  77. <xs:restriction base="xs:boolean"/>
  78. </xs:simpleType>
  79. <!-- DATA -->
  80. <xs:simpleType name="datatype">
  81. <xs:restriction base="xs:boolean"/>
  82. </xs:simpleType>
  83. <!-- CONTROL -->
  84. <xs:simpleType name="controltype">
  85. <xs:restriction base="xs:boolean"/>
  86. </xs:simpleType>
  87. <!-- VIDEO -->
  88. <xs:simpleType name="videotype">
  89. <xs:restriction base="xs:boolean"/>
  90. </xs:simpleType>
  91. <!-- TEXT -->
  92. <xs:simpleType name="texttype">
  93. <xs:restriction base="xs:boolean"/>
  94. </xs:simpleType>
  95. <!-- MESSAGE -->
  96. <xs:simpleType name="messagetype">
  97. <xs:restriction base="xs:boolean"/>
  98. </xs:simpleType>
  99. <!-- TYPE -->
  100. <xs:simpleType name="typetype">
  101. <xs:restriction base="xs:string"/>
  102. </xs:simpleType>
  103. <!-- AUTOMATA -->
  104. <xs:simpleType name="automatatype">
  105. <xs:restriction base="xs:boolean"/>
  106. </xs:simpleType>
  107. <!-- CLASS -->
  108. <xs:complexType name="classtype">
  109. <xs:sequence>
  110. <xs:element name="supported" type="tns:classtypes"
  111. minOccurs="0"/>
  112. <xs:element name="notsupported" type="tns:classtypes"
  113. minOccurs="0"/>
  114. </xs:sequence>
  115. </xs:complexType>
  116. <xs:complexType name="classtypes">
  117. <xs:sequence>
  118. <xs:element name="business" type="xs:string"
  119. minOccurs="0"/>
  120. <xs:element name="personal" type="xs:string"
  121. minOccurs="0"/>
  122. <xs:any namespace="##other" processContents="lax"
  123. minOccurs="0"
  124. maxOccurs="unbounded"/>
  125. </xs:sequence>
  126. </xs:complexType>
  127. <!-- DUPLEX -->
  128. <xs:complexType name="duplextype">
  129. <xs:sequence>
  130. <xs:element name="supported" type="tns:duplextypes"
  131. minOccurs="0"/>
  132. <xs:element name="notsupported" type="tns:duplextypes"
  133. minOccurs="0"/>
  134. </xs:sequence>
  135. </xs:complexType>
  136. <xs:complexType name="duplextypes">
  137. <xs:sequence>
  138. <xs:element name="full" type="xs:string"
  139. minOccurs="0"/>
  140. <xs:element name="half" type="xs:string"
  141. minOccurs="0"/>
  142. <xs:element name="receive-only" type="xs:string"
  143. minOccurs="0"/>
  144. <xs:element name="send-only" type="xs:string"
  145. minOccurs="0"/>
  146. <xs:any namespace="##other" processContents="lax"
  147. minOccurs="0" maxOccurs="unbounded"/>
  148. </xs:sequence>
  149. </xs:complexType>
  150. <!-- DESCRIPTION -->
  151. <xs:complexType name="descriptiontype">
  152. <xs:simpleContent>
  153. <xs:extension base="xs:string">
  154. <xs:attribute ref="xml:lang"/>
  155. </xs:extension>
  156. </xs:simpleContent>
  157. </xs:complexType>
  158. <!-- EVENT-PACKAGES -->
  159. <xs:complexType name="event-packagestype">
  160. <xs:sequence>
  161. <xs:element name="supported" type="tns:eventtypes"
  162. minOccurs="0"/>
  163. <xs:element name="notsupported" type="tns:eventtypes"
  164. minOccurs="0"/>
  165. </xs:sequence>
  166. </xs:complexType>
  167. <xs:complexType name="eventtypes">
  168. <xs:sequence>
  169. <xs:element name="conference" type="xs:string"
  170. minOccurs="0"/>
  171. <xs:element name="dialog" type="xs:string"
  172. minOccurs="0"/>
  173. <xs:element name="kpml" type="xs:string"
  174. minOccurs="0"/>
  175. <xs:element name="message-summary" type="xs:string"
  176. minOccurs="0"/>
  177. <xs:element name="poc-settings" type="xs:string"
  178. minOccurs="0"/>
  179. <xs:element name="presence" type="xs:string"
  180. minOccurs="0"/>
  181. <xs:element name="reg" type="xs:string"
  182. minOccurs="0"/>
  183. <xs:element name="refer" type="xs:string"
  184. minOccurs="0"/>
  185. <xs:element name="Siemens-RTP-Stats"
  186. type="xs:string" minOccurs="0"/>
  187. <xs:element name="spirits-INDPs"
  188. type="xs:string" minOccurs="0"/>
  189. <xs:element name="spirits-user-prof"
  190. type="xs:string" minOccurs="0"/>
  191. <xs:element name="winfo" type="xs:string"
  192. minOccurs="0"/>
  193. <xs:any namespace="##other" processContents="lax"
  194. minOccurs="0" maxOccurs="unbounded"/>
  195. </xs:sequence>
  196. </xs:complexType>
  197. <!-- PRIORITY -->
  198. <xs:complexType name="prioritytype">
  199. <xs:sequence>
  200. <xs:element name="supported" type="tns:prioritytypes"
  201. minOccurs="0"/>
  202. <xs:element name="notsupported" type="tns:prioritytypes"
  203. minOccurs="0"/>
  204. </xs:sequence>
  205. </xs:complexType>
  206. <xs:complexType name="prioritytypes">
  207. <xs:sequence>
  208. <xs:element name="equals" type="tns:equalstype"
  209. minOccurs="0" maxOccurs="unbounded"/>
  210. <xs:element name="higherhan" type="tns:higherthantype"
  211. minOccurs="0" maxOccurs="unbounded"/>
  212. <xs:element name="lowerthan" type="tns:lowerthantype"
  213. minOccurs="0" maxOccurs="unbounded"/>
  214. <xs:element name="range" type="tns:rangetype"
  215. minOccurs="0" maxOccurs="unbounded"/>
  216. <xs:any namespace="##other" processContents="lax"
  217. minOccurs="0" maxOccurs="unbounded"/>
  218. </xs:sequence>
  219. </xs:complexType>
  220. <xs:complexType name="lowerthantype">
  221. <xs:attribute name="maxvalue" type="xs:integer"
  222. use="required"/>
  223. </xs:complexType>
  224. <xs:complexType name="higherthantype">
  225. <xs:attribute name="minvalue" type="xs:integer"
  226. use="required"/>
  227. </xs:complexType>
  228. <xs:complexType name="equalstype">
  229. <xs:attribute name="value" type="xs:integer"
  230. use="required"/>
  231. </xs:complexType>
  232. <xs:complexType name="rangetype">
  233. <xs:attribute name="minvalue" type="xs:integer"
  234. use="required"/>
  235. <xs:attribute name="maxvalue" type="xs:integer"
  236. use="required"/>
  237. </xs:complexType>
  238. <!-- METHODS -->
  239. <xs:complexType name="methodstype">
  240. <xs:sequence>
  241. <xs:element name="supported" type="tns:methodtypes"
  242. minOccurs="0"/>
  243. <xs:element name="notsupported" type="tns:methodtypes"
  244. minOccurs="0"/>
  245. </xs:sequence>
  246. </xs:complexType>
  247. <xs:complexType name="methodtypes">
  248. <xs:sequence>
  249. <xs:element name="ACK" type="xs:string" minOccurs="0"/>
  250. <xs:element name="BYE" type="xs:string" minOccurs="0"/>
  251. <xs:element name="CANCEL" type="xs:string" minOccurs="0"/>
  252. <xs:element name="INFO" type="xs:string" minOccurs="0"/>
  253. <xs:element name="INVITE" type="xs:string" minOccurs="0"/>
  254. <xs:element name="MESSAGE" type="xs:string" minOccurs="0"/>
  255. <xs:element name="NOTIFY" type="xs:string" minOccurs="0"/>
  256. <xs:element name="OPTIONS" type="xs:string" minOccurs="0"/>
  257. <xs:element name="PRACK" type="xs:string" minOccurs="0"/>
  258. <xs:element name="PUBLISH" type="xs:string" minOccurs="0"/>
  259. <xs:element name="REFER" type="xs:string" minOccurs="0"/>
  260. <xs:element name="REGISTER" type="xs:string" minOccurs="0"/>
  261. <xs:element name="SUBSCRIBE" type="xs:string" minOccurs="0"/>
  262. <xs:element name="UPDATE" type="xs:string" minOccurs="0"/>
  263. <xs:any namespace="##other" processContents="lax" minOccurs="0"
  264. maxOccurs="unbounded"/>
  265. </xs:sequence>
  266. </xs:complexType>
  267. <!-- EXTENSIONS -->
  268. <xs:complexType name="extensionstype">
  269. <xs:sequence>
  270. <xs:element name="supported" type="tns:extensiontypes"
  271. minOccurs="0"/>
  272. <xs:element name="notsupported" type="tns:extensiontypes"
  273. minOccurs="0"/>
  274. </xs:sequence>
  275. </xs:complexType>
  276. <xs:complexType name="extensiontypes">
  277. <xs:sequence>
  278. <xs:element name="rel100" type="xs:string" minOccurs="0"/>
  279. <xs:element name="early-session" type="xs:string" minOccurs="0"/>
  280. <xs:element name="eventlist" type="xs:string" minOccurs="0"/>
  281. <xs:element name="from-change" type="xs:string" minOccurs="0"/>
  282. <xs:element name="gruu" type="xs:string" minOccurs="0"/>
  283. <xs:element name="hist-info" type="xs:string" minOccurs="0"/>
  284. <xs:element name="join" type="xs:string" minOccurs="0"/>
  285. <xs:element name="norefersub" type="xs:string" minOccurs="0"/>
  286. <xs:element name="path" type="xs:string" minOccurs="0"/>
  287. <xs:element name="precondition" type="xs:string" minOccurs="0"/>
  288. <xs:element name="pref" type="xs:string" minOccurs="0"/>
  289. <xs:element name="privacy" type="xs:string" minOccurs="0"/>
  290. <xs:element name="recipient-list-invite" type="xs:string"
  291. minOccurs="0"/>
  292. <xs:element name="recipient-list-subscribe" type="xs:string"
  293. minOccurs="0"/>
  294. <xs:element name="replaces" type="xs:string" minOccurs="0"/>
  295. <xs:element name="resource-priority" type="xs:string" minOccurs="0"/>
  296. <xs:element name="sdp-anat" type="xs:string" minOccurs="0"/>
  297. <xs:element name="sec-agree" type="xs:string" minOccurs="0"/>
  298. <xs:element name="tdialog" type="xs:string" minOccurs="0"/>
  299. <xs:element name="timer" type="xs:string" minOccurs="0"/>
  300. <xs:any namespace="##other" processContents="lax"
  301. minOccurs="0" maxOccurs="unbounded"/>
  302. </xs:sequence>
  303. </xs:complexType>
  304. <!-- SCHEMES -->
  305. <xs:complexType name="schemestype">
  306. <xs:sequence>
  307. <xs:element name="supported" minOccurs="0">
  308. <xs:complexType>
  309. <xs:sequence>
  310. <xs:element name="s" type="xs:string" maxOccurs="unbounded"/>
  311. </xs:sequence>
  312. </xs:complexType>
  313. </xs:element>
  314. <xs:element name="notsupported" minOccurs="0">
  315. <xs:complexType>
  316. <xs:sequence>
  317. <xs:element name="s" type="xs:string" maxOccurs="unbounded"/>
  318. </xs:sequence>
  319. </xs:complexType>
  320. </xs:element>
  321. </xs:sequence>
  322. </xs:complexType>
  323. <!-- ACTOR -->
  324. <xs:complexType name="actortype">
  325. <xs:sequence>
  326. <xs:element name="supported" type="tns:actortypes"
  327. minOccurs="0"/>
  328. <xs:element name="notsupported" type="tns:actortypes"
  329. minOccurs="0"/>
  330. </xs:sequence>
  331. </xs:complexType>
  332. <xs:complexType name="actortypes">
  333. <xs:sequence>
  334. <xs:element name="attendant" type="xs:string" minOccurs="0"/>
  335. <xs:element name="information" type="xs:string" minOccurs="0"/>
  336. <xs:element name="msg-taker" type="xs:string" minOccurs="0"/>
  337. <xs:element name="principal" type="xs:string" minOccurs="0"/>
  338. <xs:any namespace="##other" processContents="lax" minOccurs="0"
  339. maxOccurs="unbounded"/>
  340. </xs:sequence>
  341. </xs:complexType>
  342. <!-- ISFOCUS -->
  343. <xs:simpleType name="isfocustype">
  344. <xs:restriction base="xs:boolean"/>
  345. </xs:simpleType>
  346. <!-- LANGUAGES -->
  347. <xs:complexType name="languagestype">
  348. <xs:sequence>
  349. <xs:element name="supported" minOccurs="0">
  350. <xs:complexType>
  351. <xs:sequence>
  352. <xs:element name="l" type="xs:string" maxOccurs="unbounded"/>
  353. </xs:sequence>
  354. </xs:complexType>
  355. </xs:element>
  356. <xs:element name="notsupported" minOccurs="0">
  357. <xs:complexType>
  358. <xs:sequence>
  359. <xs:element name="l" type="xs:string" maxOccurs="unbounded"/>
  360. </xs:sequence>
  361. </xs:complexType>
  362. </xs:element>
  363. </xs:sequence>
  364. </xs:complexType>
  365. <!-- MOBILITY -->
  366. <xs:complexType name="mobilitytype">
  367. <xs:sequence>
  368. <xs:element name="supported" type="tns:mobilitytypes"
  369. minOccurs="0"/>
  370. <xs:element name="notsupported" type="tns:mobilitytypes"
  371. minOccurs="0"/>
  372. </xs:sequence>
  373. </xs:complexType>
  374. <xs:complexType name="mobilitytypes">
  375. <xs:sequence>
  376. <xs:element name="fixed" type="xs:string"
  377. minOccurs="0"/>
  378. <xs:element name="mobile" type="xs:string"
  379. minOccurs="0"/>
  380. <xs:any namespace="##other" processContents="lax" minOccurs="0"
  381. maxOccurs="unbounded"/>
  382. </xs:sequence>
  383. </xs:complexType>
  384. </xs:schema>