Behavior Rules.xsd 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. IBM Cognos Products: fmmd
  5. (C) Copyright IBM Corp. 2003, 2010
  6. US Government Users Restricted Rights - Use, duplication or disclosure
  7. restricted by GSA ADP Schedule Contract with IBM Corp.
  8. -->
  9. <xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  10. <xs:complexType name="localizableStringType">
  11. <xs:attribute name="language" type="xs:language" use="optional" default="en"/>
  12. <xs:attribute name="stringTableId" type="xs:string" use="required"/>
  13. <xs:attribute name="stringId" type="xs:string" use="required"/>
  14. </xs:complexType>
  15. <xs:simpleType name="matchPatternType">
  16. <xs:restriction base="xs:string"/>
  17. </xs:simpleType>
  18. <xs:complexType name="mapType">
  19. <xs:annotation>
  20. <xs:documentation>Defines a mapping rule between an XML Schema and the BMT Model</xs:documentation>
  21. </xs:annotation>
  22. <xs:sequence>
  23. <xs:element ref="mapvalue" minOccurs="0" maxOccurs="unbounded"/>
  24. </xs:sequence>
  25. <xs:attribute name="match" type="matchPatternType" use="required"/>
  26. <xs:attribute name="role" use="required">
  27. <xs:simpleType>
  28. <xs:restriction base="xs:NMTOKEN">
  29. <xs:enumeration value="bmt:property"/>
  30. <xs:enumeration value="bmt:property:name"/>
  31. <xs:enumeration value="bmt:property:description"/>
  32. <xs:enumeration value="bmt:property:complex"/>
  33. <xs:enumeration value="bmt:property:composite"/>
  34. <xs:enumeration value="bmt:property:leftEnd"/>
  35. <xs:enumeration value="bmt:property:rightEnd"/>
  36. <xs:enumeration value="bmt:property:objref"/>
  37. <xs:enumeration value="bmt:object"/>
  38. <xs:enumeration value="bmt:object:simple"/>
  39. <xs:enumeration value="bmt:object:group"/>
  40. <xs:enumeration value="bmt:object:simpleGroup"/>
  41. <xs:enumeration value="bmt:object:compound"/>
  42. <xs:enumeration value="bmt:object:association"/>
  43. <xs:enumeration value="bmt:object:shortcut"/>
  44. <xs:enumeration value="bmt:object:project"/>
  45. </xs:restriction>
  46. </xs:simpleType>
  47. </xs:attribute>
  48. <xs:attribute name="class" type="xs:string" use="required"/>
  49. <xs:attribute name="languageId" type="xs:string" use="optional"/>
  50. <xs:attribute name="value" type="matchPatternType" use="optional"/>
  51. <xs:attribute name="index" type="xs:boolean" use="optional" default="false"/>
  52. <xs:attribute name="allowMissingTarget" type="xs:boolean" use="optional" default="false"/>
  53. <xs:attribute name="persist" type="xs:boolean" use="optional" default="false"/>
  54. </xs:complexType>
  55. <xs:complexType name="actionType">
  56. <xs:attribute name="id" use="required">
  57. <xs:simpleType>
  58. <xs:restriction base="xs:NMTOKEN">
  59. <xs:enumeration value="bmt:action:create"/>
  60. <xs:enumeration value="bmt:action:createShortcut"/>
  61. <xs:enumeration value="bmt:action:delete"/>
  62. <xs:enumeration value="bmt:action:display"/>
  63. <xs:enumeration value="bmt:action:edit"/>
  64. <xs:enumeration value="bmt:action:move"/>
  65. <xs:enumeration value="bmt:action:copy"/>
  66. <xs:enumeration value="bmt:action:modify"/>
  67. </xs:restriction>
  68. </xs:simpleType>
  69. </xs:attribute>
  70. <xs:attribute name="handlerId" type="xs:string" use="required"/>
  71. </xs:complexType>
  72. <xs:complexType name="actionsType">
  73. <xs:sequence>
  74. <xs:element name="action" maxOccurs="unbounded">
  75. <xs:complexType>
  76. <xs:complexContent>
  77. <xs:extension base="actionType"/>
  78. </xs:complexContent>
  79. </xs:complexType>
  80. </xs:element>
  81. <xs:element name="custom" minOccurs="0" maxOccurs="unbounded">
  82. <xs:complexType>
  83. <xs:attribute name="id" type="xs:string" use="required"/>
  84. <xs:attribute name="handlerId" type="xs:string" use="required"/>
  85. </xs:complexType>
  86. </xs:element>
  87. </xs:sequence>
  88. </xs:complexType>
  89. <xs:complexType name="customActionType">
  90. <xs:sequence>
  91. <xs:element name="label" type="localizableStringType"/>
  92. <xs:element name="toolTip" type="localizableStringType" minOccurs="0"/>
  93. </xs:sequence>
  94. <xs:attribute name="id" type="xs:string" use="required"/>
  95. </xs:complexType>
  96. <xs:complexType name="customViewType">
  97. <xs:attribute name="id" type="xs:string" use="required"/>
  98. <xs:attribute name="visible" type="xs:boolean"/>
  99. <xs:attribute name="handlerId" type="xs:string" use="required"/>
  100. </xs:complexType>
  101. <xs:complexType name="extensionsType">
  102. <xs:sequence>
  103. <xs:element name="handler" type="handlerType" maxOccurs="unbounded"/>
  104. </xs:sequence>
  105. </xs:complexType>
  106. <xs:complexType name="helpFileType">
  107. <xs:attribute name="id" type="xs:string" use="required"/>
  108. <xs:attribute name="src" type="xs:string" use="required"/>
  109. </xs:complexType>
  110. <xs:complexType name="helpTopicType">
  111. <xs:attribute name="helpFileId" type="xs:string" use="required"/>
  112. <xs:attribute name="topicId" type="xs:short" use="required"/>
  113. </xs:complexType>
  114. <xs:complexType name="figureType">
  115. <xs:attribute name="state" use="required">
  116. <xs:simpleType>
  117. <xs:restriction base="xs:NMTOKEN">
  118. <xs:enumeration value="normal"/>
  119. <xs:enumeration value="collapsed"/>
  120. <xs:enumeration value="expanded"/>
  121. <xs:enumeration value="shortcut"/>
  122. <xs:enumeration value="selected"/>
  123. </xs:restriction>
  124. </xs:simpleType>
  125. </xs:attribute>
  126. <xs:attribute name="imageId" type="xs:string" use="required"/>
  127. <xs:attribute name="index" type="xs:integer" use="optional" default="0"/>
  128. </xs:complexType>
  129. <xs:complexType name="imageType">
  130. <xs:attribute name="id" type="xs:string" use="required"/>
  131. <xs:attribute name="src" type="xs:string" use="required"/>
  132. <xs:attribute name="maskColor" type="xs:string" use="optional"/>
  133. </xs:complexType>
  134. <xs:complexType name="imageListType">
  135. <xs:attribute name="id" type="xs:string" use="required"/>
  136. <xs:attribute name="width" type="xs:byte" use="optional" default="16"/>
  137. <xs:attribute name="height" type="xs:byte" use="optional" default="16"/>
  138. <xs:attribute name="count" type="xs:byte" use="required"/>
  139. <xs:attribute name="src" type="xs:string" use="required"/>
  140. <xs:attribute name="maskColor" type="xs:string" use="optional"/>
  141. </xs:complexType>
  142. <xs:complexType name="handlerType">
  143. <xs:attribute name="id" type="xs:string" use="required"/>
  144. <xs:attribute name="type" use="required">
  145. <xs:simpleType>
  146. <xs:restriction base="xs:NMTOKEN">
  147. <xs:enumeration value="win32:dll"/>
  148. <xs:enumeration value="html"/>
  149. </xs:restriction>
  150. </xs:simpleType>
  151. </xs:attribute>
  152. <xs:attribute name="code" type="xs:string" use="required"/>
  153. </xs:complexType>
  154. <xs:complexType name="resourcesType">
  155. <xs:choice minOccurs="0" maxOccurs="unbounded">
  156. <xs:element name="image">
  157. <xs:complexType>
  158. <xs:complexContent>
  159. <xs:extension base="imageType"/>
  160. </xs:complexContent>
  161. </xs:complexType>
  162. </xs:element>
  163. <xs:element name="imageList" type="imageListType"/>
  164. <xs:element name="helpFile" type="helpFileType"/>
  165. <xs:element name="stringTable" type="stringTableType"/>
  166. </xs:choice>
  167. </xs:complexType>
  168. <xs:complexType name="stringTableType">
  169. <xs:attribute name="id" type="xs:string" use="required"/>
  170. <xs:attribute name="src" type="xs:string" use="required"/>
  171. </xs:complexType>
  172. <xs:complexType name="viewType">
  173. <xs:attribute name="id" use="required">
  174. <xs:simpleType>
  175. <xs:restriction base="xs:NMTOKEN">
  176. <xs:enumeration value="bmt:view:diagram"/>
  177. <xs:enumeration value="bmt:view:project"/>
  178. <xs:enumeration value="bmt:view:properties"/>
  179. </xs:restriction>
  180. </xs:simpleType>
  181. </xs:attribute>
  182. <xs:attribute name="visible" type="xs:boolean" use="required"/>
  183. <xs:attribute name="extender" type="xs:string" use="optional"/>
  184. </xs:complexType>
  185. <xs:complexType name="viewsType">
  186. <xs:sequence>
  187. <xs:element name="view" type="viewType" minOccurs="0" maxOccurs="unbounded"/>
  188. <xs:element name="customView" type="customViewType" minOccurs="0" maxOccurs="unbounded"/>
  189. </xs:sequence>
  190. <xs:attribute name="base" type="xs:string" use="required"/>
  191. </xs:complexType>
  192. <xs:complexType name="visibilityType">
  193. <xs:annotation>
  194. <xs:documentation>visible=display in view; hidden=do not display; collapse=do not display children; suppress=hide me, show my children.</xs:documentation>
  195. </xs:annotation>
  196. <xs:attribute name="viewId" type="xs:string" use="required"/>
  197. <xs:attribute name="visible" use="optional" default="visible">
  198. <xs:simpleType>
  199. <xs:restriction base="xs:NMTOKEN">
  200. <xs:enumeration value="visible"/>
  201. <xs:enumeration value="hidden"/>
  202. <xs:enumeration value="suppress"/>
  203. <xs:enumeration value="collapse"/>
  204. </xs:restriction>
  205. </xs:simpleType>
  206. </xs:attribute>
  207. </xs:complexType>
  208. <xs:complexType name="visualType">
  209. <xs:annotation>
  210. <xs:documentation>Defines the a visualization rule for a class of object</xs:documentation>
  211. </xs:annotation>
  212. <xs:sequence>
  213. <xs:element name="className" type="localizableStringType" minOccurs="0" maxOccurs="unbounded">
  214. <xs:annotation>
  215. <xs:documentation>Defines the localizable name for the class.</xs:documentation>
  216. </xs:annotation>
  217. </xs:element>
  218. <xs:element name="description" type="localizableStringType" minOccurs="0" maxOccurs="unbounded">
  219. <xs:annotation>
  220. <xs:documentation>Defines the localizable description for the class.</xs:documentation>
  221. </xs:annotation>
  222. </xs:element>
  223. <xs:element name="figure" type="figureType" minOccurs="0" maxOccurs="unbounded">
  224. <xs:annotation>
  225. <xs:documentation>The image used for this class of object.</xs:documentation>
  226. </xs:annotation>
  227. </xs:element>
  228. <xs:element name="helpTopic" type="helpTopicType" minOccurs="0">
  229. <xs:annotation>
  230. <xs:documentation>References a .hlp topic id</xs:documentation>
  231. </xs:annotation>
  232. </xs:element>
  233. <xs:element name="actions" type="actionsType" minOccurs="0"/>
  234. <xs:element name="visibility" type="visibilityType" minOccurs="0" maxOccurs="unbounded"/>
  235. </xs:sequence>
  236. <xs:attribute name="class" type="xs:string" use="required"/>
  237. </xs:complexType>
  238. <xs:complexType name="visualsType">
  239. <xs:sequence>
  240. <xs:element name="customAction" minOccurs="0" maxOccurs="unbounded">
  241. <xs:complexType>
  242. <xs:complexContent>
  243. <xs:extension base="customActionType">
  244. <xs:attribute name="multiple" type="xs:boolean" use="optional" default="false"/>
  245. </xs:extension>
  246. </xs:complexContent>
  247. </xs:complexType>
  248. </xs:element>
  249. <xs:element name="visual" type="visualType" maxOccurs="unbounded"/>
  250. </xs:sequence>
  251. </xs:complexType>
  252. <xs:element name="behaviorDocument">
  253. <xs:annotation>
  254. <xs:documentation>Root Element of the Behavior Rule Schema</xs:documentation>
  255. </xs:annotation>
  256. <xs:complexType>
  257. <xs:sequence>
  258. <xs:element ref="modelBehaviorRules" minOccurs="0" maxOccurs="unbounded"/>
  259. <xs:element ref="PluginList"/>
  260. </xs:sequence>
  261. </xs:complexType>
  262. </xs:element>
  263. <xs:element name="modelBehaviorRules">
  264. <xs:annotation>
  265. <xs:documentation>The model for which these rules apply</xs:documentation>
  266. </xs:annotation>
  267. <xs:complexType>
  268. <xs:sequence>
  269. <xs:element ref="mappingSection"/>
  270. <xs:element ref="localeReference" minOccurs="0"/>
  271. <xs:element ref="designerSection" minOccurs="0"/>
  272. <xs:element ref="fmDesignerSection" minOccurs="0"/>
  273. <xs:element ref="businessSection" minOccurs="0"/>
  274. </xs:sequence>
  275. <xs:attribute name="modelType" type="xs:string" use="required"/>
  276. <xs:attribute name="modelSchema" type="xs:string" use="required"/>
  277. </xs:complexType>
  278. </xs:element>
  279. <xs:element name="mappingSection">
  280. <xs:annotation>
  281. <xs:documentation>Defines the mapping rules between the a model and the BMT model.</xs:documentation>
  282. </xs:annotation>
  283. <xs:complexType>
  284. <xs:sequence>
  285. <xs:element name="map" minOccurs="0" maxOccurs="unbounded">
  286. <xs:complexType>
  287. <xs:complexContent>
  288. <xs:extension base="mapType"/>
  289. </xs:complexContent>
  290. </xs:complexType>
  291. </xs:element>
  292. </xs:sequence>
  293. </xs:complexType>
  294. </xs:element>
  295. <xs:element name="designerSection">
  296. <xs:annotation>
  297. <xs:documentation>Defines the rules for visualizing and interacting with the objects defined in the mapping section.</xs:documentation>
  298. </xs:annotation>
  299. <xs:complexType>
  300. <xs:sequence>
  301. <xs:element name="extensions" type="extensionsType" minOccurs="0">
  302. <xs:annotation>
  303. <xs:documentation>Defines the binaries needed to implement the handlers for the actions defined.</xs:documentation>
  304. </xs:annotation>
  305. </xs:element>
  306. <xs:element name="resources" type="resourcesType" minOccurs="0">
  307. <xs:annotation>
  308. <xs:documentation>Defines the resources needed to visualize the classes defined.</xs:documentation>
  309. </xs:annotation>
  310. </xs:element>
  311. <xs:element name="views" type="viewsType" minOccurs="0">
  312. <xs:annotation>
  313. <xs:documentation>Defines the views that will be supported by the BMT. This includes the specification of default views.</xs:documentation>
  314. </xs:annotation>
  315. </xs:element>
  316. <xs:element name="visuals" type="visualsType" minOccurs="0">
  317. <xs:annotation>
  318. <xs:documentation>Defines the rules for each class identified in the mappingSection.</xs:documentation>
  319. </xs:annotation>
  320. </xs:element>
  321. </xs:sequence>
  322. </xs:complexType>
  323. </xs:element>
  324. <xs:element name="businessSection">
  325. <xs:annotation>
  326. <xs:documentation>The semantic rules that enforce the referential integrity of a model within BMT.</xs:documentation>
  327. </xs:annotation>
  328. </xs:element>
  329. <xs:element name="PluginList">
  330. <xs:complexType>
  331. <xs:sequence>
  332. <xs:element name="log">
  333. <xs:annotation>
  334. <xs:documentation>normal loglevel = 2</xs:documentation>
  335. </xs:annotation>
  336. <xs:complexType>
  337. <xs:attribute name="loglevel" type="xs:byte" use="required"/>
  338. <xs:attribute name="scripting" type="xs:string" use="required"/>
  339. </xs:complexType>
  340. </xs:element>
  341. <xs:element name="Plugin" maxOccurs="unbounded">
  342. <xs:complexType>
  343. <xs:sequence maxOccurs="unbounded">
  344. <xs:element name="Action">
  345. <xs:complexType>
  346. <xs:attribute name="Name" type="xs:string" use="required"/>
  347. <xs:attribute name="ID" type="xs:unsignedLong" use="required"/>
  348. <xs:attribute name="loglevel" type="xs:byte"/>
  349. </xs:complexType>
  350. </xs:element>
  351. </xs:sequence>
  352. <xs:attribute name="NodeID" type="xs:string" use="required"/>
  353. <xs:attribute name="Name" type="xs:string" use="required"/>
  354. <xs:attribute name="InstallPath" type="xs:string" use="required"/>
  355. </xs:complexType>
  356. </xs:element>
  357. </xs:sequence>
  358. <xs:attribute name="Version" type="xs:string" use="required"/>
  359. </xs:complexType>
  360. </xs:element>
  361. <xs:element name="fmDesignerSection">
  362. <xs:annotation>
  363. <xs:documentation>The designer section for the Framework Manager ( new UI architecture)</xs:documentation>
  364. </xs:annotation>
  365. <xs:complexType>
  366. <xs:sequence>
  367. <xs:element name="extensions" minOccurs="0">
  368. <xs:complexType>
  369. <xs:sequence>
  370. <xs:element name="plugin" minOccurs="0" maxOccurs="unbounded">
  371. <xs:complexType>
  372. <xs:complexContent>
  373. <xs:extension base="fmPluginType">
  374. <xs:attribute name="id" type="xs:string" use="required"/>
  375. </xs:extension>
  376. </xs:complexContent>
  377. </xs:complexType>
  378. </xs:element>
  379. </xs:sequence>
  380. </xs:complexType>
  381. </xs:element>
  382. <xs:element name="resources" minOccurs="0">
  383. <xs:complexType>
  384. <xs:sequence>
  385. <xs:element name="bundle" minOccurs="0" maxOccurs="unbounded">
  386. <xs:complexType>
  387. <xs:attribute name="lang" type="xs:string" use="optional"/>
  388. <xs:attribute name="src" type="xs:string" use="required"/>
  389. </xs:complexType>
  390. </xs:element>
  391. </xs:sequence>
  392. </xs:complexType>
  393. </xs:element>
  394. <xs:element name="components" minOccurs="0">
  395. <xs:complexType>
  396. <xs:sequence minOccurs="0">
  397. <xs:element name="designer" type="fmComponentType" minOccurs="0"/>
  398. <xs:element name="view" minOccurs="0" maxOccurs="unbounded">
  399. <xs:complexType>
  400. <xs:complexContent>
  401. <xs:extension base="fmComponentType">
  402. <xs:attribute name="id" type="xs:string" use="required"/>
  403. </xs:extension>
  404. </xs:complexContent>
  405. </xs:complexType>
  406. </xs:element>
  407. <xs:element name="handler" minOccurs="0" maxOccurs="unbounded">
  408. <xs:complexType>
  409. <xs:complexContent>
  410. <xs:extension base="fmComponentType">
  411. <xs:attribute name="id" type="xs:string" use="required"/>
  412. </xs:extension>
  413. </xs:complexContent>
  414. </xs:complexType>
  415. </xs:element>
  416. </xs:sequence>
  417. </xs:complexType>
  418. </xs:element>
  419. <xs:element name="visuals" minOccurs="0">
  420. <xs:complexType>
  421. <xs:sequence minOccurs="0">
  422. <xs:element name="customAction" minOccurs="0" maxOccurs="unbounded">
  423. <xs:complexType>
  424. <xs:sequence>
  425. <xs:element name="label" minOccurs="0">
  426. <xs:complexType>
  427. <xs:attribute name="stringId" type="xs:string" use="required"/>
  428. </xs:complexType>
  429. </xs:element>
  430. <xs:element name="toolTip" minOccurs="0">
  431. <xs:complexType>
  432. <xs:attribute name="stringId" type="xs:string" use="required"/>
  433. </xs:complexType>
  434. </xs:element>
  435. <xs:element name="icon" minOccurs="0">
  436. <xs:complexType>
  437. <xs:attribute name="imageId" type="xs:string" use="required"/>
  438. </xs:complexType>
  439. </xs:element>
  440. </xs:sequence>
  441. <xs:attribute name="id" type="xs:string" use="required"/>
  442. <xs:attribute name="multiple" type="xs:boolean" use="optional" default="false"/>
  443. <xs:attribute name="readOnly" type="xs:boolean" use="optional" default="false">
  444. <xs:annotation>
  445. <xs:documentation>true if this action does not modify the model.</xs:documentation>
  446. </xs:annotation>
  447. </xs:attribute>
  448. <xs:attribute name="canUndo" type="xs:boolean" use="optional" default="true"/>
  449. <xs:attribute name="clearUndoStack" type="xs:boolean" use="optional" default="false"/>
  450. <xs:attribute name="enableReadOnly" type="xs:boolean" use="optional" default="false">
  451. <xs:annotation>
  452. <xs:documentation>true if this action is enabled on a read-only node. It may change the model, as long as it does not change the node.</xs:documentation>
  453. </xs:annotation>
  454. </xs:attribute>
  455. </xs:complexType>
  456. </xs:element>
  457. <xs:element name="visual" type="fmVisualClassType" maxOccurs="unbounded"/>
  458. </xs:sequence>
  459. </xs:complexType>
  460. </xs:element>
  461. </xs:sequence>
  462. </xs:complexType>
  463. </xs:element>
  464. <xs:complexType name="fmExtendableType">
  465. <xs:annotation>
  466. <xs:documentation>The base type for extendable components</xs:documentation>
  467. </xs:annotation>
  468. <xs:sequence>
  469. <xs:element name="extender" type="fmComponentType" minOccurs="0"/>
  470. <xs:element name="attribute" type="fmAttributeType" minOccurs="0" maxOccurs="unbounded"/>
  471. </xs:sequence>
  472. </xs:complexType>
  473. <xs:complexType name="fmComponentType">
  474. <xs:annotation>
  475. <xs:documentation>The type describing a UI component</xs:documentation>
  476. </xs:annotation>
  477. <xs:complexContent>
  478. <xs:extension base="fmExtendableType">
  479. <xs:attribute name="plugin" type="xs:string" use="required"/>
  480. <xs:attribute name="class" type="xs:string" use="required"/>
  481. </xs:extension>
  482. </xs:complexContent>
  483. </xs:complexType>
  484. <xs:complexType name="fmPluginType">
  485. <xs:annotation>
  486. <xs:documentation>The type describing a UI plugin</xs:documentation>
  487. </xs:annotation>
  488. <xs:complexContent>
  489. <xs:extension base="fmExtendableType">
  490. <xs:attribute name="type" type="xs:string" use="optional" fixed="win32:dll"/>
  491. <xs:attribute name="code" type="xs:string" use="required"/>
  492. </xs:extension>
  493. </xs:complexContent>
  494. </xs:complexType>
  495. <xs:complexType name="fmVisualClassType">
  496. <xs:annotation>
  497. <xs:documentation>Description of a visual class ( version for the new FM UI architecture)</xs:documentation>
  498. </xs:annotation>
  499. <xs:sequence>
  500. <xs:element name="className" minOccurs="0">
  501. <xs:complexType>
  502. <xs:attribute name="stringId" type="xs:string" use="required"/>
  503. </xs:complexType>
  504. </xs:element>
  505. <xs:element name="description" minOccurs="0">
  506. <xs:complexType>
  507. <xs:attribute name="stringId" type="xs:string" use="required"/>
  508. </xs:complexType>
  509. </xs:element>
  510. <xs:element name="icon" minOccurs="0" maxOccurs="unbounded">
  511. <xs:complexType>
  512. <xs:attribute name="imageId" type="xs:string" use="required"/>
  513. <xs:attribute name="state" type="xs:string"/>
  514. <xs:attribute name="virtualImageId" type="xs:string" use="optional">
  515. <xs:annotation>
  516. <xs:documentation>Use this icon image when this is a virtual child of a shortcut.</xs:documentation>
  517. </xs:annotation>
  518. </xs:attribute>
  519. </xs:complexType>
  520. </xs:element>
  521. <xs:element name="actions" minOccurs="0">
  522. <xs:complexType>
  523. <xs:sequence>
  524. <xs:element name="action" minOccurs="0" maxOccurs="unbounded">
  525. <xs:complexType>
  526. <xs:attribute name="id" type="xs:NMTOKEN" use="required"/>
  527. <xs:attribute name="handlerId" type="xs:NMTOKEN" use="required"/>
  528. </xs:complexType>
  529. </xs:element>
  530. <xs:element name="custom" minOccurs="0" maxOccurs="unbounded">
  531. <xs:complexType>
  532. <xs:attribute name="id" type="xs:NMTOKEN" use="required"/>
  533. <xs:attribute name="handlerId" type="xs:NMTOKEN" use="required"/>
  534. </xs:complexType>
  535. </xs:element>
  536. </xs:sequence>
  537. </xs:complexType>
  538. </xs:element>
  539. <xs:element name="classView" minOccurs="0" maxOccurs="unbounded">
  540. <xs:complexType>
  541. <xs:attribute name="viewId" type="xs:NMTOKEN" use="required"/>
  542. <xs:attribute name="default" type="xs:boolean" use="optional" default="false"/>
  543. </xs:complexType>
  544. </xs:element>
  545. <xs:element name="visibility" minOccurs="0" maxOccurs="unbounded">
  546. <xs:complexType>
  547. <xs:attribute name="viewId" type="xs:NMTOKEN" use="required"/>
  548. <xs:attribute name="visible" type="xs:string"/>
  549. <xs:attribute name="virtualExpand" type="xs:boolean" use="optional" default="false">
  550. <xs:annotation>
  551. <xs:documentation>Set this true to allow virtual children to be displayed under shortcuts to this object.</xs:documentation>
  552. </xs:annotation>
  553. </xs:attribute>
  554. </xs:complexType>
  555. </xs:element>
  556. </xs:sequence>
  557. <xs:attribute name="class" type="xs:NMTOKEN" use="required"/>
  558. </xs:complexType>
  559. <xs:complexType name="fmAttributeType">
  560. <xs:annotation>
  561. <xs:documentation>Definition of a generic attribute to customize objects of the Extendable type</xs:documentation>
  562. </xs:annotation>
  563. <xs:attribute name="name" type="xs:string" use="required"/>
  564. <xs:attribute name="value" type="xs:string" use="optional"/>
  565. </xs:complexType>
  566. <xs:element name="mapvalue" type="mapvalueType"/>
  567. <xs:complexType name="mapvalueType">
  568. <xs:attribute name="enum" type="xs:string" use="required"/>
  569. <xs:attribute name="languageId" type="xs:string" use="required"/>
  570. </xs:complexType>
  571. <xs:element name="localeReference">
  572. <xs:complexType>
  573. <xs:sequence>
  574. <xs:element ref="location" minOccurs="0" maxOccurs="unbounded"/>
  575. </xs:sequence>
  576. </xs:complexType>
  577. </xs:element>
  578. <xs:element name="location" type="locationType"/>
  579. <xs:complexType name="locationType">
  580. <xs:attribute name="lang" type="xs:language" use="required"/>
  581. <xs:attribute name="href" type="matchPatternType" use="required"/>
  582. </xs:complexType>
  583. </xs:schema>