rs_profile.xsd 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447
  1. <!--
  2. Licensed Materials - Property of IBM
  3. IBM Cognos Products: rs
  4. (C) Copyright IBM Corp. 2014
  5. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  6. -->
  7. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.ibm.com/xmlns/prod/ba/rs/rsprofile.1/" xmlns:tns="http://www.ibm.com/xmlns/prod/ba/rs/rsprofile.1/" targetNamespace="http://www.ibm.com/xmlns/prod/ba/rs/rsprofile.1/" elementFormDefault="qualified" attributeFormDefault="unqualified">
  8. <xs:element name="RSProfile">
  9. <xs:annotation>
  10. <xs:documentation>Defines a profile of RS</xs:documentation>
  11. </xs:annotation>
  12. <xs:complexType>
  13. <xs:all>
  14. <xs:element name="defaultSettings" minOccurs="0">
  15. <xs:annotation>
  16. <xs:documentation>References the settings from DefaultSettings.xml. Only a subset of the settings will available to profile. We will need an attribute on the settings to indicate which ones are.</xs:documentation>
  17. </xs:annotation>
  18. <xs:complexType>
  19. <xs:sequence>
  20. <xs:element name="setting" maxOccurs="unbounded">
  21. <xs:complexType>
  22. <xs:attribute name="name" type="xs:string" use="required"/>
  23. <xs:attribute name="defaultValue" type="xs:string" use="required"/>
  24. </xs:complexType>
  25. </xs:element>
  26. </xs:sequence>
  27. </xs:complexType>
  28. <xs:unique name="settingUniqueness">
  29. <xs:selector xpath="setting"/>
  30. <xs:field xpath="@name"/>
  31. </xs:unique>
  32. </xs:element>
  33. <xs:element ref="toolbars" minOccurs="0">
  34. <xs:annotation>
  35. <xs:documentation>Application level toolbars</xs:documentation>
  36. </xs:annotation>
  37. </xs:element>
  38. <xs:element name="explorers" minOccurs="0">
  39. <xs:annotation>
  40. <xs:documentation>Do we have more than one explorer?</xs:documentation>
  41. </xs:annotation>
  42. <xs:complexType>
  43. <xs:sequence>
  44. <xs:element name="explorer" maxOccurs="unbounded">
  45. <xs:complexType>
  46. <xs:sequence>
  47. <xs:element name="explorerButton" minOccurs="0" maxOccurs="unbounded">
  48. <xs:complexType>
  49. <xs:attribute name="id" type="xs:string" use="required"/>
  50. </xs:complexType>
  51. </xs:element>
  52. </xs:sequence>
  53. <xs:attribute name="id" type="xs:string" use="required"/>
  54. <xs:attribute name="action" use="required">
  55. <xs:simpleType>
  56. <xs:restriction base="xs:string">
  57. <xs:enumeration value="show"/>
  58. <xs:enumeration value="hide"/>
  59. </xs:restriction>
  60. </xs:simpleType>
  61. </xs:attribute>
  62. </xs:complexType>
  63. </xs:element>
  64. </xs:sequence>
  65. </xs:complexType>
  66. <xs:unique name="explorerUniqueness">
  67. <xs:selector xpath="explorer"/>
  68. <xs:field xpath="@id"/>
  69. </xs:unique>
  70. </xs:element>
  71. <xs:element ref="menubars" minOccurs="0">
  72. <xs:annotation>
  73. <xs:documentation>Application level menubars</xs:documentation>
  74. </xs:annotation>
  75. </xs:element>
  76. <xs:element ref="menuPopups" minOccurs="0">
  77. <xs:annotation>
  78. <xs:documentation>Application level popup menus</xs:documentation>
  79. </xs:annotation>
  80. </xs:element>
  81. <xs:element ref="listViews" minOccurs="0">
  82. <xs:annotation>
  83. <xs:documentation>Application level list views</xs:documentation>
  84. </xs:annotation>
  85. </xs:element>
  86. <xs:element ref="tabControls" minOccurs="0"/>
  87. <xs:element name="dialogs" minOccurs="0">
  88. <xs:complexType>
  89. <xs:sequence>
  90. <xs:element name="dialog" maxOccurs="unbounded">
  91. <xs:annotation>
  92. <xs:documentation>There will be an XML file that defines which dialogs can be profiled and what parts can be profiled (the elements you see as children in the schema)</xs:documentation>
  93. </xs:annotation>
  94. <xs:complexType>
  95. <xs:all>
  96. <xs:element name="hideElements" minOccurs="0">
  97. <xs:complexType>
  98. <xs:sequence>
  99. <xs:element name="hideElement" maxOccurs="unbounded">
  100. <xs:annotation>
  101. <xs:documentation>dialog elements are identify by id. We should have some way to indicate which elements we will allow to be hidden in a profile. How do we find items available to hide? Load all dialog resources? How do we find all dialogs? Where do we get the labels from?</xs:documentation>
  102. </xs:annotation>
  103. <xs:complexType>
  104. <xs:attribute name="id" type="xs:string" use="required"/>
  105. </xs:complexType>
  106. </xs:element>
  107. </xs:sequence>
  108. </xs:complexType>
  109. <xs:unique name="hideElemnetUniqueness">
  110. <xs:selector xpath="hideElement"/>
  111. <xs:field xpath="@id"/>
  112. </xs:unique>
  113. </xs:element>
  114. <xs:element ref="menuPopups" minOccurs="0"/>
  115. <xs:element ref="listViews" minOccurs="0"/>
  116. <xs:element ref="menubars" minOccurs="0"/>
  117. <xs:element ref="toolbars" minOccurs="0"/>
  118. <xs:element ref="propertySheets" minOccurs="0"/>
  119. <xs:element ref="tabControls" minOccurs="0"/>
  120. </xs:all>
  121. <xs:attribute name="id" type="xs:string" use="required"/>
  122. </xs:complexType>
  123. </xs:element>
  124. </xs:sequence>
  125. </xs:complexType>
  126. <xs:unique name="dialogIUniqueness">
  127. <xs:selector xpath="dialog"/>
  128. <xs:field xpath="@id"/>
  129. </xs:unique>
  130. </xs:element>
  131. <xs:element name="chartTypes" minOccurs="0">
  132. <xs:annotation>
  133. <xs:documentation>Profiling which PGSDK and AVS charts are shown in the chart dialog. Used to control what charts from ChartTemplates.xml are shown in the chart picker dialog, if empty then show all</xs:documentation>
  134. </xs:annotation>
  135. <xs:complexType>
  136. <xs:sequence>
  137. <xs:element name="chartType" minOccurs="0" maxOccurs="unbounded">
  138. <xs:complexType>
  139. <xs:attribute name="id" type="xs:string" use="required"/>
  140. </xs:complexType>
  141. </xs:element>
  142. </xs:sequence>
  143. <xs:attribute name="action" use="required">
  144. <xs:simpleType>
  145. <xs:restriction base="xs:string">
  146. <xs:enumeration value="show"/>
  147. <xs:enumeration value="hide"/>
  148. </xs:restriction>
  149. </xs:simpleType>
  150. </xs:attribute>
  151. </xs:complexType>
  152. <xs:unique name="chartTypeUniqueness">
  153. <xs:selector xpath="chartType"/>
  154. <xs:field xpath="@id"/>
  155. </xs:unique>
  156. </xs:element>
  157. <xs:element ref="propertySheets" minOccurs="0">
  158. <xs:annotation>
  159. <xs:documentation>Profiles the propertySheets</xs:documentation>
  160. </xs:annotation>
  161. </xs:element>
  162. <xs:element name="helpContents" minOccurs="0">
  163. <xs:annotation>
  164. <xs:documentation>In the future, we can add the option to have a custom URL for this</xs:documentation>
  165. </xs:annotation>
  166. <xs:complexType>
  167. <xs:choice>
  168. <xs:element name="ibmHelpContents">
  169. <xs:complexType>
  170. <xs:attribute name="type" use="required">
  171. <xs:simpleType>
  172. <xs:restriction base="xs:string">
  173. <xs:enumeration value="professional"/>
  174. <xs:enumeration value="workspaceAdvanced"/>
  175. </xs:restriction>
  176. </xs:simpleType>
  177. </xs:attribute>
  178. </xs:complexType>
  179. </xs:element>
  180. </xs:choice>
  181. </xs:complexType>
  182. </xs:element>
  183. </xs:all>
  184. </xs:complexType>
  185. </xs:element>
  186. <xs:element name="listViews">
  187. <xs:complexType>
  188. <xs:sequence>
  189. <xs:element name="listView" maxOccurs="unbounded">
  190. <xs:complexType>
  191. <xs:sequence>
  192. <xs:element name="listItem" minOccurs="0" maxOccurs="unbounded">
  193. <xs:annotation>
  194. <xs:documentation>item can be idenfitied by one of (in priority) id, value, idsLabel.</xs:documentation>
  195. </xs:annotation>
  196. <xs:complexType>
  197. <xs:attribute name="value" type="xs:string" use="required"/>
  198. </xs:complexType>
  199. </xs:element>
  200. </xs:sequence>
  201. <xs:attribute name="id" type="xs:string" use="required"/>
  202. <xs:attribute name="action" use="required">
  203. <xs:simpleType>
  204. <xs:restriction base="xs:string">
  205. <xs:enumeration value="show"/>
  206. <xs:enumeration value="hide"/>
  207. </xs:restriction>
  208. </xs:simpleType>
  209. </xs:attribute>
  210. </xs:complexType>
  211. </xs:element>
  212. </xs:sequence>
  213. </xs:complexType>
  214. <xs:unique name="listViewUniqueness">
  215. <xs:selector xpath="listView"/>
  216. <xs:field xpath="@id"/>
  217. </xs:unique>
  218. </xs:element>
  219. <xs:element name="menuPopups">
  220. <xs:complexType>
  221. <xs:sequence>
  222. <xs:element name="menuPopup" maxOccurs="unbounded">
  223. <xs:complexType>
  224. <xs:sequence>
  225. <xs:element name="menuItem" minOccurs="0" maxOccurs="unbounded">
  226. <xs:complexType>
  227. <xs:attribute name="id" type="xs:string" use="required"/>
  228. </xs:complexType>
  229. </xs:element>
  230. </xs:sequence>
  231. <xs:attribute name="id" type="xs:string" use="required"/>
  232. <xs:attribute name="action" use="required">
  233. <xs:simpleType>
  234. <xs:restriction base="xs:string">
  235. <xs:enumeration value="show"/>
  236. <xs:enumeration value="hide"/>
  237. </xs:restriction>
  238. </xs:simpleType>
  239. </xs:attribute>
  240. </xs:complexType>
  241. <xs:unique name="menuItemUniqueness">
  242. <xs:selector xpath="menuItem"/>
  243. <xs:field xpath="@id"/>
  244. </xs:unique>
  245. </xs:element>
  246. </xs:sequence>
  247. </xs:complexType>
  248. <xs:unique name="menuPopupUniqueness">
  249. <xs:selector xpath="menuPopup"/>
  250. <xs:field xpath="@id"/>
  251. </xs:unique>
  252. </xs:element>
  253. <xs:element name="toolbars">
  254. <xs:complexType>
  255. <xs:sequence>
  256. <xs:choice maxOccurs="unbounded">
  257. <xs:element name="toolbar">
  258. <xs:annotation>
  259. <xs:documentation>Used to hide or show buttons in a toolbar. If set to show and shows nothing, it should hide the toolbar.</xs:documentation>
  260. </xs:annotation>
  261. <xs:complexType>
  262. <xs:sequence>
  263. <xs:element ref="toolbarButton" minOccurs="0" maxOccurs="unbounded"/>
  264. </xs:sequence>
  265. <xs:attribute name="id" type="xs:string" use="required"/>
  266. <xs:attribute name="action" use="required">
  267. <xs:simpleType>
  268. <xs:restriction base="xs:string">
  269. <xs:enumeration value="show"/>
  270. <xs:enumeration value="hide"/>
  271. </xs:restriction>
  272. </xs:simpleType>
  273. </xs:attribute>
  274. </xs:complexType>
  275. </xs:element>
  276. <xs:element name="customToolbar">
  277. <xs:annotation>
  278. <xs:documentation>Defines a custom ordering of the toolbar buttons.</xs:documentation>
  279. </xs:annotation>
  280. <xs:complexType>
  281. <xs:sequence>
  282. <xs:choice maxOccurs="unbounded">
  283. <xs:element ref="toolbarButton"/>
  284. <xs:element name="toolbarSeparator">
  285. <xs:complexType/>
  286. </xs:element>
  287. </xs:choice>
  288. </xs:sequence>
  289. <xs:attribute name="id" type="xs:string" use="required"/>
  290. </xs:complexType>
  291. </xs:element>
  292. </xs:choice>
  293. </xs:sequence>
  294. </xs:complexType>
  295. <xs:unique name="toolbarUniqueness">
  296. <xs:selector xpath="*"/>
  297. <xs:field xpath="@id"/>
  298. </xs:unique>
  299. </xs:element>
  300. <xs:element name="menubars">
  301. <xs:annotation>
  302. <xs:documentation>menubars, menu, menuPopup, toolbar and listView have an optional dialogId in current profiles. Why?</xs:documentation>
  303. </xs:annotation>
  304. <xs:complexType>
  305. <xs:sequence>
  306. <xs:element name="menubar" maxOccurs="unbounded">
  307. <xs:complexType>
  308. <xs:sequence>
  309. <xs:element name="menu" minOccurs="0" maxOccurs="unbounded">
  310. <xs:complexType>
  311. <xs:attribute name="id" type="xs:string" use="required"/>
  312. </xs:complexType>
  313. </xs:element>
  314. </xs:sequence>
  315. <xs:attribute name="id" type="xs:string" use="required"/>
  316. <xs:attribute name="action" use="required">
  317. <xs:simpleType>
  318. <xs:restriction base="xs:string">
  319. <xs:enumeration value="show"/>
  320. <xs:enumeration value="hide"/>
  321. </xs:restriction>
  322. </xs:simpleType>
  323. </xs:attribute>
  324. </xs:complexType>
  325. <xs:unique name="menuUniqueness">
  326. <xs:selector xpath="menu"/>
  327. <xs:field xpath="@id"/>
  328. </xs:unique>
  329. </xs:element>
  330. </xs:sequence>
  331. </xs:complexType>
  332. <xs:unique name="menubarUniqueness">
  333. <xs:selector xpath="menubar"/>
  334. <xs:field xpath="@id"/>
  335. </xs:unique>
  336. </xs:element>
  337. <xs:element name="propertySheets">
  338. <xs:annotation>
  339. <xs:documentation>Profiles which properties appear in the property sheet. </xs:documentation>
  340. </xs:annotation>
  341. <xs:complexType>
  342. <xs:sequence>
  343. <xs:element name="propertySheet" maxOccurs="unbounded">
  344. <xs:complexType>
  345. <xs:all>
  346. <xs:element name="propertyVisibility" minOccurs="0">
  347. <xs:complexType>
  348. <xs:sequence>
  349. <xs:choice minOccurs="0" maxOccurs="unbounded">
  350. <xs:element ref="property"/>
  351. <xs:element ref="group"/>
  352. </xs:choice>
  353. </xs:sequence>
  354. <xs:attribute name="action" use="required">
  355. <xs:simpleType>
  356. <xs:restriction base="xs:string">
  357. <xs:enumeration value="show"/>
  358. <xs:enumeration value="hide"/>
  359. </xs:restriction>
  360. </xs:simpleType>
  361. </xs:attribute>
  362. </xs:complexType>
  363. </xs:element>
  364. </xs:all>
  365. <xs:attribute name="id" type="xs:string" use="required"/>
  366. <xs:attribute name="collapseGroups" type="xs:boolean" default="false"/>
  367. </xs:complexType>
  368. </xs:element>
  369. </xs:sequence>
  370. </xs:complexType>
  371. </xs:element>
  372. <xs:element name="tabControls">
  373. <xs:annotation>
  374. <xs:documentation>Tab controls</xs:documentation>
  375. </xs:annotation>
  376. <xs:complexType>
  377. <xs:sequence>
  378. <xs:element name="tabControl" maxOccurs="unbounded">
  379. <xs:annotation>
  380. <xs:documentation>We should change the tab control definition to be driven from an XML resource instead of from the HTML in irot.htm</xs:documentation>
  381. </xs:annotation>
  382. <xs:complexType>
  383. <xs:sequence>
  384. <xs:element name="tab" minOccurs="0" maxOccurs="unbounded">
  385. <xs:complexType>
  386. <xs:attribute name="id" type="xs:string" use="required"/>
  387. </xs:complexType>
  388. </xs:element>
  389. </xs:sequence>
  390. <xs:attribute name="id" type="xs:string" use="required"/>
  391. <xs:attribute name="action" use="required">
  392. <xs:simpleType>
  393. <xs:restriction base="xs:string">
  394. <xs:enumeration value="show"/>
  395. <xs:enumeration value="hide"/>
  396. </xs:restriction>
  397. </xs:simpleType>
  398. </xs:attribute>
  399. </xs:complexType>
  400. </xs:element>
  401. </xs:sequence>
  402. </xs:complexType>
  403. <xs:unique name="toolboxTabUniqueness">
  404. <xs:selector xpath="toolboxTab"/>
  405. <xs:field xpath="@id"/>
  406. </xs:unique>
  407. </xs:element>
  408. <xs:element name="toolbarButton">
  409. <xs:complexType>
  410. <xs:attribute name="id" type="xs:string" use="required"/>
  411. </xs:complexType>
  412. </xs:element>
  413. <xs:element name="property">
  414. <xs:complexType>
  415. <xs:all>
  416. <xs:element name="appliesTo" minOccurs="0">
  417. <xs:annotation>
  418. <xs:documentation>Only applies the property visiblity to the named objects or namedSets, if not specified, applies to all properties</xs:documentation>
  419. </xs:annotation>
  420. <xs:complexType>
  421. <xs:sequence>
  422. <xs:element name="parentContainer" maxOccurs="unbounded">
  423. <xs:complexType>
  424. <xs:attribute name="name" type="xs:string" use="required"/>
  425. <xs:attribute name="type" use="required">
  426. <xs:simpleType>
  427. <xs:restriction base="xs:string">
  428. <xs:enumeration value="object"/>
  429. <xs:enumeration value="namedSet"/>
  430. </xs:restriction>
  431. </xs:simpleType>
  432. </xs:attribute>
  433. </xs:complexType>
  434. </xs:element>
  435. </xs:sequence>
  436. </xs:complexType>
  437. </xs:element>
  438. </xs:all>
  439. <xs:attribute name="name" type="xs:string" use="required"/>
  440. </xs:complexType>
  441. </xs:element>
  442. <xs:element name="group">
  443. <xs:complexType>
  444. <xs:attribute name="name" type="xs:string" use="required"/>
  445. </xs:complexType>
  446. </xs:element>
  447. </xs:schema>