/bandhu-parent/bandhu-ext/bandhu-linkedin/src/test/resources/inuse/schema1.xsd

https://github.com/jasphior/bandhu · XML Schema · 516 lines · 516 code · 0 blank · 0 comment · 0 complexity · 65944a7c343ba43aceaa7725cc08a692 MD5 · raw file

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  3. <xs:element name="company-search" type="company-searchType"/>
  4. <xs:element name="connections" type="connectionsType"/>
  5. <xs:element name="error" type="errorType"/>
  6. <xs:element name="person" type="personType"/>
  7. <xs:element name="people-search" type="people-searchType"/>
  8. <xs:element name="updates" type="updatesType"/>
  9. <xs:complexType name="statusType">
  10. <xs:sequence>
  11. <xs:element type="xs:string" name="code"/>
  12. <xs:element type="xs:string" name="name"/>
  13. </xs:sequence>
  14. </xs:complexType>
  15. <xs:complexType name="employee-count-rangeType">
  16. <xs:sequence>
  17. <xs:element name="code">
  18. <xs:simpleType>
  19. <xs:restriction base="xs:string">
  20. <xs:enumeration value="C"/>
  21. <xs:enumeration value="G"/>
  22. <xs:enumeration value="D"/>
  23. <xs:enumeration value="E"/>
  24. <xs:enumeration value="N"/>
  25. <xs:enumeration value="O"/>
  26. <xs:enumeration value="P"/>
  27. <xs:enumeration value="S"/>
  28. </xs:restriction>
  29. </xs:simpleType>
  30. </xs:element>
  31. <xs:element name="name">
  32. <xs:simpleType>
  33. <xs:restriction base="xs:string"/>
  34. </xs:simpleType>
  35. </xs:element>
  36. </xs:sequence>
  37. </xs:complexType>
  38. <xs:complexType name="industryType">
  39. <xs:sequence>
  40. <xs:element name="code">
  41. <xs:simpleType>
  42. <xs:restriction base="xs:byte"/>
  43. </xs:simpleType>
  44. </xs:element>
  45. <xs:element name="name">
  46. <xs:simpleType>
  47. <xs:restriction base="xs:string"/>
  48. </xs:simpleType>
  49. </xs:element>
  50. </xs:sequence>
  51. </xs:complexType>
  52. <xs:complexType name="industriesType">
  53. <xs:sequence>
  54. <xs:element type="industryType" name="industry"/>
  55. </xs:sequence>
  56. <xs:attribute type="xs:byte" name="total" use="optional"/>
  57. </xs:complexType>
  58. <xs:complexType name="specialtiesType">
  59. <xs:sequence>
  60. <xs:element type="xs:string" name="specialty" maxOccurs="unbounded" minOccurs="0"/>
  61. </xs:sequence>
  62. <xs:attribute type="xs:byte" name="total" use="optional"/>
  63. </xs:complexType>
  64. <xs:complexType name="addressType">
  65. <xs:sequence>
  66. <xs:element type="xs:string" name="street1" minOccurs="0"/>
  67. <xs:element name="city" minOccurs="0">
  68. <xs:simpleType>
  69. <xs:restriction base="xs:string"/>
  70. </xs:simpleType>
  71. </xs:element>
  72. <xs:element type="xs:int" name="postal-code" minOccurs="0"/>
  73. </xs:sequence>
  74. </xs:complexType>
  75. <xs:complexType name="locationType">
  76. <xs:sequence>
  77. <xs:element type="addressType" name="address" minOccurs="0"/>
  78. <xs:element name="contact-info" minOccurs="0">
  79. <xs:complexType>
  80. <xs:sequence>
  81. <xs:element name="phone1" minOccurs="0">
  82. <xs:simpleType>
  83. <xs:restriction base="xs:string"/>
  84. </xs:simpleType>
  85. </xs:element>
  86. <xs:element name="fax" minOccurs="0">
  87. <xs:simpleType>
  88. <xs:restriction base="xs:string"/>
  89. </xs:simpleType>
  90. </xs:element>
  91. </xs:sequence>
  92. </xs:complexType>
  93. </xs:element>
  94. <xs:element type="xs:string" name="name" minOccurs="0"/>
  95. <xs:element type="countryType" name="country" minOccurs="0"/>
  96. </xs:sequence>
  97. </xs:complexType>
  98. <xs:complexType name="contact-infoType">
  99. <xs:sequence>
  100. <xs:element name="phone1" minOccurs="0">
  101. <xs:simpleType>
  102. <xs:restriction base="xs:string"/>
  103. </xs:simpleType>
  104. </xs:element>
  105. <xs:element name="fax" minOccurs="0">
  106. <xs:simpleType>
  107. <xs:restriction base="xs:string"/>
  108. </xs:simpleType>
  109. </xs:element>
  110. </xs:sequence>
  111. </xs:complexType>
  112. <xs:complexType name="locationsType">
  113. <xs:sequence>
  114. <xs:element type="locationType" name="location" maxOccurs="unbounded" minOccurs="0"/>
  115. </xs:sequence>
  116. <xs:attribute type="xs:byte" name="total" use="optional"/>
  117. </xs:complexType>
  118. <xs:complexType name="companyType">
  119. <xs:sequence>
  120. <xs:element type="xs:int" name="id" minOccurs="0"/>
  121. <xs:element type="xs:string" name="name"/>
  122. <xs:element name="universal-name" minOccurs="0">
  123. <xs:simpleType>
  124. <xs:restriction base="xs:string"/>
  125. </xs:simpleType>
  126. </xs:element>
  127. <xs:element type="statusType" name="status" minOccurs="0"/>
  128. <xs:element name="logo-url" minOccurs="0">
  129. <xs:simpleType>
  130. <xs:restriction base="xs:anyURI"/>
  131. </xs:simpleType>
  132. </xs:element>
  133. <xs:element name="website-url" minOccurs="0">
  134. <xs:simpleType>
  135. <xs:restriction base="xs:anyURI"/>
  136. </xs:simpleType>
  137. </xs:element>
  138. <xs:element name="blog-rss-url" minOccurs="0">
  139. <xs:simpleType>
  140. <xs:restriction base="xs:anyURI"/>
  141. </xs:simpleType>
  142. </xs:element>
  143. <xs:element name="twitter-id" minOccurs="0">
  144. <xs:simpleType>
  145. <xs:restriction base="xs:string"/>
  146. </xs:simpleType>
  147. </xs:element>
  148. <xs:element type="employee-count-rangeType" name="employee-count-range" minOccurs="0"/>
  149. <xs:element type="industriesType" name="industries" minOccurs="0"/>
  150. <xs:element type="specialtiesType" name="specialties" minOccurs="0"/>
  151. <xs:element type="locationsType" name="locations" minOccurs="0"/>
  152. <xs:element name="description" minOccurs="0">
  153. <xs:simpleType>
  154. <xs:restriction base="xs:string"/>
  155. </xs:simpleType>
  156. </xs:element>
  157. <xs:element name="founded-year" minOccurs="0">
  158. <xs:simpleType>
  159. <xs:restriction base="xs:short"/>
  160. </xs:simpleType>
  161. </xs:element>
  162. <xs:element name="num-followers" minOccurs="0">
  163. <xs:simpleType>
  164. <xs:restriction base="xs:short"/>
  165. </xs:simpleType>
  166. </xs:element>
  167. <xs:element name="size" minOccurs="0">
  168. <xs:simpleType>
  169. <xs:restriction base="xs:string"/>
  170. </xs:simpleType>
  171. </xs:element>
  172. <xs:element name="type" minOccurs="0">
  173. <xs:simpleType>
  174. <xs:restriction base="xs:string"/>
  175. </xs:simpleType>
  176. </xs:element>
  177. <xs:element name="industry" minOccurs="0">
  178. <xs:simpleType>
  179. <xs:restriction base="xs:string"/>
  180. </xs:simpleType>
  181. </xs:element>
  182. <xs:element name="ticker" minOccurs="0">
  183. <xs:simpleType>
  184. <xs:restriction base="xs:string"/>
  185. </xs:simpleType>
  186. </xs:element>
  187. </xs:sequence>
  188. </xs:complexType>
  189. <xs:complexType name="companiesType">
  190. <xs:sequence>
  191. <xs:element type="companyType" name="company" maxOccurs="unbounded" minOccurs="0"/>
  192. </xs:sequence>
  193. <xs:attribute type="xs:short" name="total"/>
  194. <xs:attribute type="xs:byte" name="count"/>
  195. <xs:attribute type="xs:byte" name="start"/>
  196. </xs:complexType>
  197. <xs:complexType name="company-searchType">
  198. <xs:sequence>
  199. <xs:element type="companiesType" name="companies"/>
  200. </xs:sequence>
  201. </xs:complexType>
  202. <xs:complexType name="http-headerType">
  203. <xs:sequence>
  204. <xs:element type="xs:string" name="name"/>
  205. <xs:element type="xs:string" name="value"/>
  206. </xs:sequence>
  207. </xs:complexType>
  208. <xs:complexType name="headersType">
  209. <xs:sequence>
  210. <xs:element type="http-headerType" name="http-header" maxOccurs="unbounded"/>
  211. </xs:sequence>
  212. <xs:attribute type="xs:byte" name="total" use="optional"/>
  213. </xs:complexType>
  214. <xs:complexType name="api-standard-profile-requestType">
  215. <xs:sequence>
  216. <xs:element type="xs:anyURI" name="url"/>
  217. <xs:element type="headersType" name="headers"/>
  218. </xs:sequence>
  219. </xs:complexType>
  220. <xs:complexType name="site-standard-profile-requestType">
  221. <xs:sequence>
  222. <xs:element type="xs:anyURI" name="url"/>
  223. </xs:sequence>
  224. </xs:complexType>
  225. <xs:complexType name="countryType">
  226. <xs:sequence>
  227. <xs:element name="code">
  228. <xs:simpleType>
  229. <xs:restriction base="xs:string"/>
  230. </xs:simpleType>
  231. </xs:element>
  232. </xs:sequence>
  233. </xs:complexType>
  234. <xs:complexType name="personType">
  235. <xs:sequence>
  236. <xs:element type="xs:string" name="id"/>
  237. <xs:element type="xs:string" name="first-name"/>
  238. <xs:element type="xs:string" name="last-name"/>
  239. <xs:element type="xs:string" name="headline"/>
  240. <xs:element type="xs:anyURI" name="picture-url"/>
  241. <xs:element type="api-standard-profile-requestType" name="api-standard-profile-request"/>
  242. <xs:element type="site-standard-profile-requestType" name="site-standard-profile-request"/>
  243. <xs:element type="locationType" name="location"/>
  244. <xs:element type="xs:string" name="industry"/>
  245. <xs:element type="xs:byte" name="distance"/>
  246. <xs:element type="relation-to-viewerType" name="relation-to-viewer"/>
  247. <xs:element name="num-connections">
  248. <xs:simpleType>
  249. <xs:restriction base="xs:short"/>
  250. </xs:simpleType>
  251. </xs:element>
  252. <xs:element type="positionsType" name="positions"/>
  253. <xs:element type="educationsType" name="educations"/>
  254. <xs:element type="three-current-positionsType" name="three-current-positions"/>
  255. <xs:element name="auth-token">
  256. <xs:simpleType>
  257. <xs:restriction base="xs:string"/>
  258. </xs:simpleType>
  259. </xs:element>
  260. <xs:element type="connectionsType" name="connections"/>
  261. <xs:element type="member-url-resourcesType" name="member-url-resources"/>
  262. <xs:element type="member-groupsType" name="member-groups"/>
  263. <xs:element type="xs:string" name="current-status"/>
  264. </xs:sequence>
  265. </xs:complexType>
  266. <xs:complexType name="connectionsType">
  267. <xs:sequence>
  268. <xs:element type="personType" name="person" maxOccurs="unbounded" minOccurs="0"/>
  269. <xs:element type="connectionType" name="connection" maxOccurs="unbounded" minOccurs="0"/>
  270. </xs:sequence>
  271. <xs:attribute type="xs:byte" name="total" use="optional"/>
  272. <xs:attribute type="xs:byte" name="count" use="optional"/>
  273. <xs:attribute type="xs:byte" name="start" use="optional"/>
  274. </xs:complexType>
  275. <xs:complexType name="errorType">
  276. <xs:sequence>
  277. <xs:element type="xs:short" name="status"/>
  278. <xs:element type="xs:long" name="timestamp"/>
  279. <xs:element type="xs:string" name="request-id"/>
  280. <xs:element type="xs:byte" name="error-code"/>
  281. <xs:element type="xs:string" name="message"/>
  282. </xs:sequence>
  283. </xs:complexType>
  284. <xs:complexType name="connectionType">
  285. <xs:sequence>
  286. <xs:element type="personType" name="person"/>
  287. </xs:sequence>
  288. </xs:complexType>
  289. <xs:complexType name="relation-to-viewerType">
  290. <xs:sequence>
  291. <xs:element type="xs:byte" name="distance"/>
  292. <xs:element type="connectionsType" name="connections"/>
  293. </xs:sequence>
  294. </xs:complexType>
  295. <xs:complexType name="start-dateType">
  296. <xs:sequence>
  297. <xs:element name="year">
  298. <xs:simpleType>
  299. <xs:restriction base="xs:short"/>
  300. </xs:simpleType>
  301. </xs:element>
  302. <xs:element name="month" minOccurs="0">
  303. <xs:simpleType>
  304. <xs:restriction base="xs:byte"/>
  305. </xs:simpleType>
  306. </xs:element>
  307. </xs:sequence>
  308. </xs:complexType>
  309. <xs:complexType name="positionType">
  310. <xs:sequence>
  311. <xs:element type="xs:int" name="id"/>
  312. <xs:element type="xs:string" name="title"/>
  313. <xs:element name="summary" minOccurs="0">
  314. <xs:simpleType>
  315. <xs:restriction base="xs:string"/>
  316. </xs:simpleType>
  317. </xs:element>
  318. <xs:element type="start-dateType" name="start-date"/>
  319. <xs:element type="end-dateType" name="end-date" minOccurs="0"/>
  320. <xs:element name="is-current">
  321. <xs:simpleType>
  322. <xs:restriction base="xs:boolean"/>
  323. </xs:simpleType>
  324. </xs:element>
  325. <xs:element type="companyType" name="company"/>
  326. </xs:sequence>
  327. </xs:complexType>
  328. <xs:complexType name="end-dateType">
  329. <xs:sequence>
  330. <xs:element name="year">
  331. <xs:simpleType>
  332. <xs:restriction base="xs:short"/>
  333. </xs:simpleType>
  334. </xs:element>
  335. <xs:element type="xs:byte" name="month" minOccurs="0"/>
  336. </xs:sequence>
  337. </xs:complexType>
  338. <xs:complexType name="positionsType">
  339. <xs:sequence>
  340. <xs:element type="positionType" name="position" maxOccurs="unbounded" minOccurs="0"/>
  341. </xs:sequence>
  342. <xs:attribute type="xs:byte" name="total"/>
  343. </xs:complexType>
  344. <xs:complexType name="educationType">
  345. <xs:sequence>
  346. <xs:element name="id">
  347. <xs:simpleType>
  348. <xs:restriction base="xs:int"/>
  349. </xs:simpleType>
  350. </xs:element>
  351. <xs:element name="school-name">
  352. <xs:simpleType>
  353. <xs:restriction base="xs:string"/>
  354. </xs:simpleType>
  355. </xs:element>
  356. <xs:element type="xs:string" name="notes" minOccurs="0"/>
  357. <xs:element type="xs:string" name="activities" minOccurs="0"/>
  358. <xs:element name="degree">
  359. <xs:simpleType>
  360. <xs:restriction base="xs:string"/>
  361. </xs:simpleType>
  362. </xs:element>
  363. <xs:element name="field-of-study">
  364. <xs:simpleType>
  365. <xs:restriction base="xs:string"/>
  366. </xs:simpleType>
  367. </xs:element>
  368. <xs:element type="start-dateType" name="start-date"/>
  369. <xs:element type="end-dateType" name="end-date"/>
  370. </xs:sequence>
  371. </xs:complexType>
  372. <xs:complexType name="educationsType">
  373. <xs:sequence>
  374. <xs:element type="educationType" name="education" maxOccurs="unbounded" minOccurs="0"/>
  375. </xs:sequence>
  376. <xs:attribute type="xs:byte" name="total"/>
  377. </xs:complexType>
  378. <xs:complexType name="three-current-positionsType">
  379. <xs:sequence>
  380. <xs:element type="positionType" name="position" maxOccurs="unbounded" minOccurs="0"/>
  381. </xs:sequence>
  382. <xs:attribute type="xs:byte" name="total" use="optional"/>
  383. </xs:complexType>
  384. <xs:complexType name="peopleType">
  385. <xs:sequence>
  386. <xs:element type="personType" name="person" maxOccurs="unbounded" minOccurs="0"/>
  387. </xs:sequence>
  388. <xs:attribute type="xs:byte" name="total"/>
  389. <xs:attribute type="xs:byte" name="count"/>
  390. <xs:attribute type="xs:byte" name="start"/>
  391. </xs:complexType>
  392. <xs:complexType name="people-searchType">
  393. <xs:sequence>
  394. <xs:element type="peopleType" name="people"/>
  395. </xs:sequence>
  396. </xs:complexType>
  397. <xs:complexType name="update-contentType">
  398. <xs:sequence>
  399. <xs:element type="personType" name="person"/>
  400. </xs:sequence>
  401. </xs:complexType>
  402. <xs:complexType name="update-commentsType">
  403. <xs:simpleContent>
  404. <xs:extension base="xs:string">
  405. <xs:attribute type="xs:byte" name="total" use="optional"/>
  406. </xs:extension>
  407. </xs:simpleContent>
  408. </xs:complexType>
  409. <xs:complexType name="updateType">
  410. <xs:sequence>
  411. <xs:element name="timestamp">
  412. <xs:simpleType>
  413. <xs:restriction base="xs:long"/>
  414. </xs:simpleType>
  415. </xs:element>
  416. <xs:element name="update-key">
  417. <xs:simpleType>
  418. <xs:restriction base="xs:string"/>
  419. </xs:simpleType>
  420. </xs:element>
  421. <xs:element name="update-type">
  422. <xs:simpleType>
  423. <xs:restriction base="xs:string">
  424. <xs:enumeration value="CONN"/>
  425. <xs:enumeration value="NCON"/>
  426. <xs:enumeration value="PROF"/>
  427. <xs:enumeration value="JGRP"/>
  428. <xs:enumeration value="STAT"/>
  429. </xs:restriction>
  430. </xs:simpleType>
  431. </xs:element>
  432. <xs:element type="update-contentType" name="update-content"/>
  433. <xs:element type="xs:string" name="is-commentable"/>
  434. <xs:element type="update-commentsType" name="update-comments"/>
  435. <xs:element type="updated-fieldsType" name="updated-fields" minOccurs="0"/>
  436. <xs:element type="xs:string" name="is-likable"/>
  437. <xs:element type="xs:string" name="is-liked"/>
  438. <xs:element name="num-likes">
  439. <xs:simpleType>
  440. <xs:restriction base="xs:byte"/>
  441. </xs:simpleType>
  442. </xs:element>
  443. <xs:element type="likesType" name="likes" minOccurs="0"/>
  444. </xs:sequence>
  445. </xs:complexType>
  446. <xs:complexType name="member-url-resource-typeType">
  447. <xs:sequence>
  448. <xs:element type="xs:string" name="code"/>
  449. <xs:element type="xs:string" name="name"/>
  450. </xs:sequence>
  451. </xs:complexType>
  452. <xs:complexType name="member-url-resourceType">
  453. <xs:sequence>
  454. <xs:element name="url">
  455. <xs:simpleType>
  456. <xs:restriction base="xs:anyURI"/>
  457. </xs:simpleType>
  458. </xs:element>
  459. <xs:element type="member-url-resource-typeType" name="member-url-resource-type"/>
  460. </xs:sequence>
  461. </xs:complexType>
  462. <xs:complexType name="member-url-resourcesType">
  463. <xs:sequence>
  464. <xs:element type="member-url-resourceType" name="member-url-resource" maxOccurs="unbounded" minOccurs="0"/>
  465. </xs:sequence>
  466. <xs:attribute type="xs:byte" name="count"/>
  467. </xs:complexType>
  468. <xs:complexType name="update-fieldType">
  469. <xs:sequence>
  470. <xs:element type="xs:string" name="name"/>
  471. </xs:sequence>
  472. </xs:complexType>
  473. <xs:complexType name="updated-fieldsType">
  474. <xs:sequence>
  475. <xs:element type="update-fieldType" name="update-field"/>
  476. </xs:sequence>
  477. <xs:attribute type="xs:byte" name="count"/>
  478. </xs:complexType>
  479. <xs:complexType name="site-group-requestType">
  480. <xs:sequence>
  481. <xs:element type="xs:anyURI" name="url"/>
  482. </xs:sequence>
  483. </xs:complexType>
  484. <xs:complexType name="member-groupType">
  485. <xs:sequence>
  486. <xs:element type="xs:int" name="id"/>
  487. <xs:element type="xs:string" name="name"/>
  488. <xs:element type="site-group-requestType" name="site-group-request"/>
  489. </xs:sequence>
  490. </xs:complexType>
  491. <xs:complexType name="member-groupsType">
  492. <xs:sequence>
  493. <xs:element type="member-groupType" name="member-group"/>
  494. </xs:sequence>
  495. <xs:attribute type="xs:byte" name="total"/>
  496. </xs:complexType>
  497. <xs:complexType name="likeType">
  498. <xs:sequence>
  499. <xs:element type="personType" name="person"/>
  500. </xs:sequence>
  501. </xs:complexType>
  502. <xs:complexType name="likesType">
  503. <xs:sequence>
  504. <xs:element type="likeType" name="like" maxOccurs="unbounded" minOccurs="0"/>
  505. </xs:sequence>
  506. <xs:attribute type="xs:byte" name="total"/>
  507. </xs:complexType>
  508. <xs:complexType name="updatesType">
  509. <xs:sequence>
  510. <xs:element type="updateType" name="update" maxOccurs="unbounded" minOccurs="0"/>
  511. </xs:sequence>
  512. <xs:attribute type="xs:byte" name="total"/>
  513. <xs:attribute type="xs:byte" name="count"/>
  514. <xs:attribute type="xs:byte" name="start"/>
  515. </xs:complexType>
  516. </xs:schema>