ui-layout-basic-controls.xsd 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  3. targetNamespace="http://quadarax.com/ui-layout-basic-controls"
  4. xmlns:tns="http://quadarax.com/ui-layout-basic-controls"
  5. elementFormDefault="qualified"
  6. version="1.6">
  7. <!-- Basic Control Instance Base Type -->
  8. <xs:complexType name="BasicControlInstanceType" mixed="true">
  9. <xs:group ref="tns:BasicControlContentGroup" minOccurs="0" maxOccurs="unbounded"/>
  10. <!-- Common attributes for all controls -->
  11. <xs:attribute name="name" type="xs:string"/>
  12. <xs:attribute name="enabled" type="xs:boolean" default="true"/>
  13. <xs:attribute name="text" type="xs:string"/>
  14. <xs:attribute name="visible" type="xs:boolean" default="true"/>
  15. <xs:attribute name="data-source" type="xs:string"/>
  16. <xs:attribute name="dock" type="tns:DockEnum" default="none"/>
  17. <xs:attribute name="tooltip" type="xs:string"/>
  18. <xs:attribute name="width" type="xs:int"/>
  19. <xs:attribute name="height" type="xs:int"/>
  20. <xs:attribute name="x" type="xs:int"/>
  21. <xs:attribute name="y" type="xs:int"/>
  22. <xs:attribute name="anchor" type="tns:AnchorEnum" default="none"/>
  23. <xs:attribute name="margin" type="xs:string"/>
  24. <xs:attribute name="padding" type="xs:string"/>
  25. <xs:attribute name="background-color" type="xs:string"/>
  26. <xs:attribute name="foreground-color" type="xs:string"/>
  27. <xs:attribute name="font-family" type="xs:string"/>
  28. <xs:attribute name="font-size" type="xs:int"/>
  29. <xs:attribute name="font-style" type="tns:FontStyleEnum" default="normal"/>
  30. <xs:attribute name="tab-index" type="xs:int" default="0"/>
  31. <xs:attribute name="access-key" type="xs:string"/>
  32. <xs:anyAttribute processContents="lax"/>
  33. </xs:complexType>
  34. <!-- FIXED: Basic Control Content Group -->
  35. <xs:group name="BasicControlContentGroup">
  36. <xs:choice>
  37. <!-- Allow any elements from current namespace -->
  38. <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded">
  39. <xs:annotation>
  40. <xs:documentation>
  41. Allows any basic UI controls with full flexibility.
  42. Eliminates need for explicit control definitions while maintaining basic control structure.
  43. </xs:documentation>
  44. </xs:annotation>
  45. </xs:any>
  46. </xs:choice>
  47. </xs:group>
  48. <!-- DISPLAY CONTROLS -->
  49. <!-- Label Control Type -->
  50. <xs:complexType name="LabelType">
  51. <xs:complexContent>
  52. <xs:extension base="tns:BasicControlInstanceType">
  53. <xs:attribute name="auto-size" type="xs:boolean" default="true"/>
  54. <xs:attribute name="text-align" type="tns:TextAlignEnum" default="left"/>
  55. <xs:attribute name="vertical-align" type="tns:VerticalAlignEnum" default="middle"/>
  56. <xs:attribute name="word-wrap" type="xs:boolean" default="false"/>
  57. <xs:attribute name="use-mnemonic" type="xs:boolean" default="true"/>
  58. <xs:attribute name="associated-control" type="xs:string"/>
  59. </xs:extension>
  60. </xs:complexContent>
  61. </xs:complexType>
  62. <!-- Separator Control Type -->
  63. <xs:complexType name="SeparatorType">
  64. <xs:complexContent>
  65. <xs:extension base="tns:BasicControlInstanceType">
  66. <xs:attribute name="orientation" type="tns:OrientationEnum" default="horizontal"/>
  67. <xs:attribute name="line-style" type="tns:LineStyleEnum" default="solid"/>
  68. <xs:attribute name="line-width" type="xs:int" default="1"/>
  69. <xs:attribute name="line-color" type="xs:string" default="gray"/>
  70. <xs:attribute name="auto-size" type="xs:boolean" default="true"/>
  71. <xs:attribute name="margin-start" type="xs:int" default="0"/>
  72. <xs:attribute name="margin-end" type="xs:int" default="0"/>
  73. </xs:extension>
  74. </xs:complexContent>
  75. </xs:complexType>
  76. <!-- Image Control Type -->
  77. <xs:complexType name="ImageType">
  78. <xs:complexContent>
  79. <xs:extension base="tns:BasicControlInstanceType">
  80. <xs:attribute name="source" type="xs:string" use="required"/>
  81. <xs:attribute name="source-type" type="tns:ImageSourceTypeEnum" default="file"/>
  82. <xs:attribute name="size-mode" type="tns:ImageSizeModeEnum" default="normal"/>
  83. <xs:attribute name="aspect-ratio" type="tns:AspectRatioEnum" default="keep"/>
  84. <xs:attribute name="interpolation-mode" type="tns:InterpolationModeEnum" default="default"/>
  85. <xs:attribute name="error-image" type="xs:string"/>
  86. <xs:attribute name="loading-image" type="xs:string"/>
  87. <xs:attribute name="border-style" type="tns:BorderStyleEnum" default="none"/>
  88. <xs:attribute name="cursor-hand" type="xs:boolean" default="false"/>
  89. <xs:attribute name="allow-drop" type="xs:boolean" default="false"/>
  90. <xs:attribute name="cache-image" type="xs:boolean" default="true"/>
  91. <xs:attribute name="async-load" type="xs:boolean" default="false"/>
  92. <xs:attribute name="rotation" type="tns:RotationEnum" default="none"/>
  93. <xs:attribute name="flip" type="tns:FlipEnum" default="none"/>
  94. <xs:attribute name="opacity" type="xs:double" default="1.0"/>
  95. <xs:attribute name="grayscale" type="xs:boolean" default="false"/>
  96. <xs:attribute name="alt-text" type="xs:string"/>
  97. </xs:extension>
  98. </xs:complexContent>
  99. </xs:complexType>
  100. <!-- INPUT CONTROLS -->
  101. <!-- TextBox Control Type -->
  102. <xs:complexType name="TextBoxType">
  103. <xs:complexContent>
  104. <xs:extension base="tns:BasicControlInstanceType">
  105. <xs:attribute name="max-length" type="xs:int" default="32767"/>
  106. <xs:attribute name="read-only" type="xs:boolean" default="false"/>
  107. <xs:attribute name="multiline" type="xs:boolean" default="false"/>
  108. <xs:attribute name="password-char" type="xs:string"/>
  109. <xs:attribute name="placeholder-text" type="xs:string"/>
  110. <xs:attribute name="text-align" type="tns:TextAlignEnum" default="left"/>
  111. <xs:attribute name="accepts-return" type="xs:boolean" default="false"/>
  112. <xs:attribute name="accepts-tab" type="xs:boolean" default="false"/>
  113. <xs:attribute name="word-wrap" type="xs:boolean" default="true"/>
  114. <xs:attribute name="scroll-bars" type="tns:ScrollBarsEnum" default="none"/>
  115. <xs:attribute name="auto-complete-mode" type="tns:AutoCompleteModeEnum" default="none"/>
  116. <xs:attribute name="auto-complete-source" type="xs:string"/>
  117. </xs:extension>
  118. </xs:complexContent>
  119. </xs:complexType>
  120. <!-- ComboBox Control Type -->
  121. <xs:complexType name="ComboBoxType" mixed="true">
  122. <xs:complexContent>
  123. <xs:extension base="tns:BasicControlInstanceType">
  124. <xs:sequence>
  125. <xs:element name="items" type="tns:ComboBoxItemsType" minOccurs="0"/>
  126. </xs:sequence>
  127. <xs:attribute name="dropdown-style" type="tns:DropdownStyleEnum" default="dropdown"/>
  128. <xs:attribute name="max-dropdown-items" type="xs:int" default="8"/>
  129. <xs:attribute name="selected-index" type="xs:int" default="-1"/>
  130. <xs:attribute name="selected-value" type="xs:string"/>
  131. <xs:attribute name="auto-complete-mode" type="tns:AutoCompleteModeEnum" default="none"/>
  132. <xs:attribute name="auto-complete-source" type="xs:string"/>
  133. <xs:attribute name="sorted" type="xs:boolean" default="false"/>
  134. </xs:extension>
  135. </xs:complexContent>
  136. </xs:complexType>
  137. <!-- ACTION CONTROLS -->
  138. <!-- Button Control Type -->
  139. <xs:complexType name="ButtonType">
  140. <xs:complexContent>
  141. <xs:extension base="tns:BasicControlInstanceType">
  142. <xs:attribute name="type" type="tns:ButtonTypeEnum" default="text"/>
  143. <xs:attribute name="image" type="xs:string"/>
  144. <xs:attribute name="image-position" type="tns:ImagePositionEnum" default="left"/>
  145. <xs:attribute name="style" type="tns:ButtonStyleEnum" default="normal"/>
  146. <xs:attribute name="size" type="tns:ButtonSizeEnum" default="medium"/>
  147. <xs:attribute name="auto-size" type="xs:boolean" default="false"/>
  148. <xs:attribute name="is-default" type="xs:boolean" default="false"/>
  149. <xs:attribute name="is-cancel" type="xs:boolean" default="false"/>
  150. <xs:attribute name="flat-style" type="xs:boolean" default="false"/>
  151. </xs:extension>
  152. </xs:complexContent>
  153. </xs:complexType>
  154. <!-- CONTAINER CONTROLS -->
  155. <!-- Panel Control Type -->
  156. <xs:complexType name="PanelType">
  157. <xs:complexContent>
  158. <xs:extension base="tns:BasicControlInstanceType">
  159. <xs:attribute name="border-style" type="tns:BorderStyleEnum" default="none"/>
  160. <xs:attribute name="border-width" type="xs:int" default="0"/>
  161. <xs:attribute name="border-color" type="xs:string" default="black"/>
  162. <xs:attribute name="auto-scroll" type="xs:boolean" default="false"/>
  163. <xs:attribute name="layout-type" type="tns:LayoutTypeEnum" default="absolute"/>
  164. <xs:attribute name="flow-direction" type="tns:FlowDirectionEnum" default="left-to-right"/>
  165. </xs:extension>
  166. </xs:complexContent>
  167. </xs:complexType>
  168. <!-- PopupPanel Control Type -->
  169. <xs:complexType name="PopupPanelType">
  170. <xs:complexContent>
  171. <xs:extension base="tns:PanelType">
  172. <xs:attribute name="popup-mode" type="tns:PopupModeEnum" default="modeless"/>
  173. <xs:attribute name="auto-close" type="xs:boolean" default="true"/>
  174. <xs:attribute name="close-on-escape" type="xs:boolean" default="true"/>
  175. <xs:attribute name="close-on-click-outside" type="xs:boolean" default="true"/>
  176. <xs:attribute name="show-close-button" type="xs:boolean" default="false"/>
  177. <xs:attribute name="resizable" type="xs:boolean" default="false"/>
  178. <xs:attribute name="movable" type="xs:boolean" default="false"/>
  179. <xs:attribute name="fade-in" type="xs:boolean" default="false"/>
  180. <xs:attribute name="fade-out" type="xs:boolean" default="false"/>
  181. <xs:attribute name="animation-duration" type="xs:int" default="200"/>
  182. </xs:extension>
  183. </xs:complexContent>
  184. </xs:complexType>
  185. <!-- NAVIGATION CONTROLS -->
  186. <!-- Menu Control Type -->
  187. <xs:complexType name="MenuType" mixed="true">
  188. <xs:complexContent>
  189. <xs:extension base="tns:BasicControlInstanceType">
  190. <xs:sequence>
  191. <xs:element name="items" type="tns:MenuItemsType" minOccurs="0"/>
  192. </xs:sequence>
  193. <xs:attribute name="orientation" type="tns:OrientationEnum" default="horizontal"/>
  194. <xs:attribute name="show-check-margin" type="xs:boolean" default="true"/>
  195. <xs:attribute name="show-image-margin" type="xs:boolean" default="true"/>
  196. <xs:attribute name="right-to-left" type="xs:boolean" default="false"/>
  197. </xs:extension>
  198. </xs:complexContent>
  199. </xs:complexType>
  200. <!-- LIST CONTROLS -->
  201. <!-- ListView Control Type -->
  202. <xs:complexType name="ListViewType" mixed="true">
  203. <xs:complexContent>
  204. <xs:extension base="tns:BasicControlInstanceType">
  205. <xs:sequence>
  206. <xs:element name="columns" type="tns:ColumnsType" minOccurs="0"/>
  207. <xs:element name="items" type="tns:ListViewItemsType" minOccurs="0"/>
  208. </xs:sequence>
  209. <xs:attribute name="view-mode" type="tns:ListViewModeEnum" default="details"/>
  210. <xs:attribute name="multi-select" type="xs:boolean" default="false"/>
  211. <xs:attribute name="full-row-select" type="xs:boolean" default="false"/>
  212. <xs:attribute name="grid-lines" type="xs:boolean" default="false"/>
  213. <xs:attribute name="header-style" type="tns:HeaderStyleEnum" default="clickable"/>
  214. <xs:attribute name="sorting" type="tns:SortingEnum" default="none"/>
  215. <xs:attribute name="allow-column-reorder" type="xs:boolean" default="false"/>
  216. <xs:attribute name="hover-selection" type="xs:boolean" default="false"/>
  217. <xs:attribute name="hot-tracking" type="xs:boolean" default="false"/>
  218. <xs:attribute name="virtual-mode" type="xs:boolean" default="false"/>
  219. <xs:attribute name="virtual-list-size" type="xs:int" default="0"/>
  220. </xs:extension>
  221. </xs:complexContent>
  222. </xs:complexType>
  223. <!-- TreeView Control Type -->
  224. <xs:complexType name="TreeViewType" mixed="true">
  225. <xs:complexContent>
  226. <xs:extension base="tns:BasicControlInstanceType">
  227. <xs:sequence>
  228. <xs:element name="nodes" type="tns:TreeNodesType" minOccurs="0"/>
  229. </xs:sequence>
  230. <xs:attribute name="show-lines" type="xs:boolean" default="true"/>
  231. <xs:attribute name="show-plus-minus" type="xs:boolean" default="true"/>
  232. <xs:attribute name="show-root-lines" type="xs:boolean" default="true"/>
  233. <xs:attribute name="has-check-boxes" type="xs:boolean" default="false"/>
  234. <xs:attribute name="full-row-select" type="xs:boolean" default="false"/>
  235. <xs:attribute name="hot-tracking" type="xs:boolean" default="false"/>
  236. <xs:attribute name="hide-selection" type="xs:boolean" default="true"/>
  237. <xs:attribute name="label-edit" type="xs:boolean" default="false"/>
  238. <xs:attribute name="scrollable" type="xs:boolean" default="true"/>
  239. <xs:attribute name="sorted" type="xs:boolean" default="false"/>
  240. <xs:attribute name="path-separator" type="xs:string" default="\"/>
  241. <xs:attribute name="indent" type="xs:int" default="19"/>
  242. <xs:attribute name="item-height" type="xs:int" default="16"/>
  243. </xs:extension>
  244. </xs:complexContent>
  245. </xs:complexType>
  246. <!-- STRUCTURE TYPES -->
  247. <!-- ListBoxItem Type -->
  248. <xs:complexType name="ListBoxItemType">
  249. <xs:attribute name="value" type="xs:string" use="required"/>
  250. <xs:attribute name="text" type="xs:string" use="required"/>
  251. <xs:attribute name="selected" type="xs:boolean" default="false"/>
  252. <xs:attribute name="enabled" type="xs:boolean" default="true"/>
  253. <xs:attribute name="image" type="xs:string"/>
  254. <xs:attribute name="tooltip" type="xs:string"/>
  255. <xs:attribute name="tag" type="xs:string"/>
  256. </xs:complexType>
  257. <!-- ListViewItem Type -->
  258. <xs:complexType name="ListViewItemType">
  259. <xs:sequence>
  260. <xs:element name="sub-items" minOccurs="0">
  261. <xs:complexType>
  262. <xs:sequence>
  263. <xs:element name="sub-item" maxOccurs="unbounded">
  264. <xs:complexType>
  265. <xs:attribute name="text" type="xs:string" use="required"/>
  266. </xs:complexType>
  267. </xs:element>
  268. </xs:sequence>
  269. </xs:complexType>
  270. </xs:element>
  271. </xs:sequence>
  272. <xs:attribute name="text" type="xs:string" use="required"/>
  273. <xs:attribute name="value" type="xs:string"/>
  274. <xs:attribute name="selected" type="xs:boolean" default="false"/>
  275. <xs:attribute name="checked" type="xs:boolean" default="false"/>
  276. <xs:attribute name="focused" type="xs:boolean" default="false"/>
  277. <xs:attribute name="image-index" type="xs:int" default="-1"/>
  278. <xs:attribute name="image-key" type="xs:string"/>
  279. <xs:attribute name="state-image-index" type="xs:int" default="-1"/>
  280. <xs:attribute name="group" type="xs:string"/>
  281. <xs:attribute name="use-item-style-for-sub-items" type="xs:boolean" default="true"/>
  282. <xs:attribute name="tag" type="xs:string"/>
  283. </xs:complexType>
  284. <!-- ColumnItem Type -->
  285. <xs:complexType name="ColumnItemType">
  286. <xs:attribute name="name" type="xs:string" use="required"/>
  287. <xs:attribute name="text" type="xs:string" use="required"/>
  288. <xs:attribute name="width" type="xs:int" default="100"/>
  289. <xs:attribute name="sortable" type="xs:boolean" default="true"/>
  290. <xs:attribute name="visible" type="xs:boolean" default="true"/>
  291. <xs:attribute name="alignment" type="tns:AlignmentEnum" default="left"/>
  292. <xs:attribute name="data-type" type="tns:DataTypeEnum" default="text"/>
  293. <xs:attribute name="format-string" type="xs:string"/>
  294. <xs:attribute name="image-index" type="xs:int" default="-1"/>
  295. <xs:attribute name="tag" type="xs:string"/>
  296. </xs:complexType>
  297. <!-- TreeNode Type -->
  298. <xs:complexType name="TreeNodeType">
  299. <xs:sequence>
  300. <xs:element name="nodes" type="tns:TreeNodesType" minOccurs="0"/>
  301. </xs:sequence>
  302. <xs:attribute name="text" type="xs:string" use="required"/>
  303. <xs:attribute name="value" type="xs:string"/>
  304. <xs:attribute name="expanded" type="xs:boolean" default="false"/>
  305. <xs:attribute name="selected" type="xs:boolean" default="false"/>
  306. <xs:attribute name="checked" type="xs:boolean" default="false"/>
  307. <xs:attribute name="image-index" type="xs:int" default="-1"/>
  308. <xs:attribute name="image-key" type="xs:string"/>
  309. <xs:attribute name="selected-image-index" type="xs:int" default="-1"/>
  310. <xs:attribute name="selected-image-key" type="xs:string"/>
  311. <xs:attribute name="state-image-index" type="xs:int" default="-1"/>
  312. <xs:attribute name="state-image-key" type="xs:string"/>
  313. <xs:attribute name="tool-tip-text" type="xs:string"/>
  314. <xs:attribute name="context-menu" type="xs:string"/>
  315. <xs:attribute name="tag" type="xs:string"/>
  316. </xs:complexType>
  317. <!-- MenuItem Type -->
  318. <xs:complexType name="MenuItemType">
  319. <xs:sequence>
  320. <xs:element name="items" type="tns:MenuItemsType" minOccurs="0"/>
  321. </xs:sequence>
  322. <xs:attribute name="text" type="xs:string" use="required"/>
  323. <xs:attribute name="value" type="xs:string"/>
  324. <xs:attribute name="enabled" type="xs:boolean" default="true"/>
  325. <xs:attribute name="visible" type="xs:boolean" default="true"/>
  326. <xs:attribute name="checked" type="xs:boolean" default="false"/>
  327. <xs:attribute name="checkable" type="xs:boolean" default="false"/>
  328. <xs:attribute name="radio-check" type="xs:boolean" default="false"/>
  329. <xs:attribute name="image" type="xs:string"/>
  330. <xs:attribute name="shortcut-keys" type="xs:string"/>
  331. <xs:attribute name="show-shortcut" type="xs:boolean" default="true"/>
  332. <xs:attribute name="merge-type" type="tns:MergeTypeEnum" default="add"/>
  333. <xs:attribute name="merge-order" type="xs:int" default="0"/>
  334. <xs:attribute name="separator" type="xs:boolean" default="false"/>
  335. <xs:attribute name="tag" type="xs:string"/>
  336. </xs:complexType>
  337. <!-- COLLECTION TYPES -->
  338. <!-- ComboBox Items -->
  339. <xs:complexType name="ComboBoxItemsType">
  340. <xs:sequence>
  341. <xs:element name="item" type="tns:ListBoxItemType" maxOccurs="unbounded"/>
  342. </xs:sequence>
  343. </xs:complexType>
  344. <!-- Menu Items -->
  345. <xs:complexType name="MenuItemsType">
  346. <xs:sequence>
  347. <xs:element name="item" type="tns:MenuItemType" maxOccurs="unbounded"/>
  348. </xs:sequence>
  349. </xs:complexType>
  350. <!-- ListView Items -->
  351. <xs:complexType name="ListViewItemsType">
  352. <xs:sequence>
  353. <xs:element name="item" type="tns:ListViewItemType" maxOccurs="unbounded"/>
  354. </xs:sequence>
  355. </xs:complexType>
  356. <!-- Columns -->
  357. <xs:complexType name="ColumnsType">
  358. <xs:sequence>
  359. <xs:element name="column" type="tns:ColumnItemType" maxOccurs="unbounded"/>
  360. </xs:sequence>
  361. </xs:complexType>
  362. <!-- Tree Nodes -->
  363. <xs:complexType name="TreeNodesType">
  364. <xs:sequence>
  365. <xs:element name="node" type="tns:TreeNodeType" maxOccurs="unbounded"/>
  366. </xs:sequence>
  367. </xs:complexType>
  368. <!-- ENUMERATION TYPES -->
  369. <!-- Basic Enumerations -->
  370. <xs:simpleType name="DockEnum">
  371. <xs:restriction base="xs:string">
  372. <xs:enumeration value="none"/>
  373. <xs:enumeration value="left"/>
  374. <xs:enumeration value="right"/>
  375. <xs:enumeration value="top"/>
  376. <xs:enumeration value="bottom"/>
  377. <xs:enumeration value="fill"/>
  378. </xs:restriction>
  379. </xs:simpleType>
  380. <xs:simpleType name="AnchorEnum">
  381. <xs:restriction base="xs:string">
  382. <xs:enumeration value="none"/>
  383. <xs:enumeration value="left"/>
  384. <xs:enumeration value="right"/>
  385. <xs:enumeration value="top"/>
  386. <xs:enumeration value="bottom"/>
  387. <xs:enumeration value="all"/>
  388. </xs:restriction>
  389. </xs:simpleType>
  390. <xs:simpleType name="FontStyleEnum">
  391. <xs:restriction base="xs:string">
  392. <xs:enumeration value="normal"/>
  393. <xs:enumeration value="italic"/>
  394. <xs:enumeration value="bold"/>
  395. <xs:enumeration value="bold-italic"/>
  396. </xs:restriction>
  397. </xs:simpleType>
  398. <xs:simpleType name="OrientationEnum">
  399. <xs:restriction base="xs:string">
  400. <xs:enumeration value="horizontal"/>
  401. <xs:enumeration value="vertical"/>
  402. </xs:restriction>
  403. </xs:simpleType>
  404. <xs:simpleType name="TextAlignEnum">
  405. <xs:restriction base="xs:string">
  406. <xs:enumeration value="left"/>
  407. <xs:enumeration value="center"/>
  408. <xs:enumeration value="right"/>
  409. <xs:enumeration value="justify"/>
  410. </xs:restriction>
  411. </xs:simpleType>
  412. <xs:simpleType name="VerticalAlignEnum">
  413. <xs:restriction base="xs:string">
  414. <xs:enumeration value="top"/>
  415. <xs:enumeration value="middle"/>
  416. <xs:enumeration value="bottom"/>
  417. </xs:restriction>
  418. </xs:simpleType>
  419. <xs:simpleType name="AlignmentEnum">
  420. <xs:restriction base="xs:string">
  421. <xs:enumeration value="left"/>
  422. <xs:enumeration value="center"/>
  423. <xs:enumeration value="right"/>
  424. </xs:restriction>
  425. </xs:simpleType>
  426. <!-- Separator Specific Enumerations -->
  427. <xs:simpleType name="LineStyleEnum">
  428. <xs:restriction base="xs:string">
  429. <xs:enumeration value="solid"/>
  430. <xs:enumeration value="dashed"/>
  431. <xs:enumeration value="dotted"/>
  432. <xs:enumeration value="double"/>
  433. <xs:enumeration value="groove"/>
  434. <xs:enumeration value="ridge"/>
  435. <xs:enumeration value="inset"/>
  436. <xs:enumeration value="outset"/>
  437. </xs:restriction>
  438. </xs:simpleType>
  439. <!-- Image Specific Enumerations -->
  440. <xs:simpleType name="ImageSourceTypeEnum">
  441. <xs:restriction base="xs:string">
  442. <xs:enumeration value="file"/>
  443. <xs:enumeration value="url"/>
  444. <xs:enumeration value="resource"/>
  445. <xs:enumeration value="base64"/>
  446. <xs:enumeration value="stream"/>
  447. </xs:restriction>
  448. </xs:simpleType>
  449. <xs:simpleType name="ImageSizeModeEnum">
  450. <xs:restriction base="xs:string">
  451. <xs:enumeration value="normal"/>
  452. <xs:enumeration value="stretch-image"/>
  453. <xs:enumeration value="auto-size"/>
  454. <xs:enumeration value="center-image"/>
  455. <xs:enumeration value="zoom"/>
  456. </xs:restriction>
  457. </xs:simpleType>
  458. <xs:simpleType name="AspectRatioEnum">
  459. <xs:restriction base="xs:string">
  460. <xs:enumeration value="ignore"/>
  461. <xs:enumeration value="keep"/>
  462. <xs:enumeration value="keep-by-expanding"/>
  463. </xs:restriction>
  464. </xs:simpleType>
  465. <xs:simpleType name="InterpolationModeEnum">
  466. <xs:restriction base="xs:string">
  467. <xs:enumeration value="default"/>
  468. <xs:enumeration value="low"/>
  469. <xs:enumeration value="high"/>
  470. <xs:enumeration value="bilinear"/>
  471. <xs:enumeration value="bicubic"/>
  472. <xs:enumeration value="nearest-neighbor"/>
  473. </xs:restriction>
  474. </xs:simpleType>
  475. <xs:simpleType name="RotationEnum">
  476. <xs:restriction base="xs:string">
  477. <xs:enumeration value="none"/>
  478. <xs:enumeration value="rotate90"/>
  479. <xs:enumeration value="rotate180"/>
  480. <xs:enumeration value="rotate270"/>
  481. </xs:restriction>
  482. </xs:simpleType>
  483. <xs:simpleType name="FlipEnum">
  484. <xs:restriction base="xs:string">
  485. <xs:enumeration value="none"/>
  486. <xs:enumeration value="horizontal"/>
  487. <xs:enumeration value="vertical"/>
  488. <xs:enumeration value="both"/>
  489. </xs:restriction>
  490. </xs:simpleType>
  491. <!-- Other Control Specific Enumerations -->
  492. <xs:simpleType name="BorderStyleEnum">
  493. <xs:restriction base="xs:string">
  494. <xs:enumeration value="none"/>
  495. <xs:enumeration value="single"/>
  496. <xs:enumeration value="raised"/>
  497. <xs:enumeration value="sunken"/>
  498. <xs:enumeration value="double"/>
  499. </xs:restriction>
  500. </xs:simpleType>
  501. <xs:simpleType name="ScrollBarsEnum">
  502. <xs:restriction base="xs:string">
  503. <xs:enumeration value="none"/>
  504. <xs:enumeration value="horizontal"/>
  505. <xs:enumeration value="vertical"/>
  506. <xs:enumeration value="both"/>
  507. </xs:restriction>
  508. </xs:simpleType>
  509. <xs:simpleType name="AutoCompleteModeEnum">
  510. <xs:restriction base="xs:string">
  511. <xs:enumeration value="none"/>
  512. <xs:enumeration value="suggest"/>
  513. <xs:enumeration value="append"/>
  514. <xs:enumeration value="suggest-append"/>
  515. </xs:restriction>
  516. </xs:simpleType>
  517. <xs:simpleType name="DropdownStyleEnum">
  518. <xs:restriction base="xs:string">
  519. <xs:enumeration value="dropdown"/>
  520. <xs:enumeration value="simple"/>
  521. <xs:enumeration value="dropdown-list"/>
  522. </xs:restriction>
  523. </xs:simpleType>
  524. <xs:simpleType name="ButtonTypeEnum">
  525. <xs:restriction base="xs:string">
  526. <xs:enumeration value="text"/>
  527. <xs:enumeration value="image"/>
  528. <xs:enumeration value="text-image"/>
  529. </xs:restriction>
  530. </xs:simpleType>
  531. <xs:simpleType name="ImagePositionEnum">
  532. <xs:restriction base="xs:string">
  533. <xs:enumeration value="left"/>
  534. <xs:enumeration value="right"/>
  535. <xs:enumeration value="top"/>
  536. <xs:enumeration value="bottom"/>
  537. </xs:restriction>
  538. </xs:simpleType>
  539. <xs:simpleType name="ButtonStyleEnum">
  540. <xs:restriction base="xs:string">
  541. <xs:enumeration value="normal"/>
  542. <xs:enumeration value="primary"/>
  543. <xs:enumeration value="secondary"/>
  544. <xs:enumeration value="danger"/>
  545. <xs:enumeration value="success"/>
  546. <xs:enumeration value="warning"/>
  547. <xs:enumeration value="info"/>
  548. </xs:restriction>
  549. </xs:simpleType>
  550. <xs:simpleType name="ButtonSizeEnum">
  551. <xs:restriction base="xs:string">
  552. <xs:enumeration value="small"/>
  553. <xs:enumeration value="medium"/>
  554. <xs:enumeration value="large"/>
  555. </xs:restriction>
  556. </xs:simpleType>
  557. <xs:simpleType name="LayoutTypeEnum">
  558. <xs:restriction base="xs:string">
  559. <xs:enumeration value="absolute"/>
  560. <xs:enumeration value="flow"/>
  561. <xs:enumeration value="stack"/>
  562. <xs:enumeration value="grid"/>
  563. </xs:restriction>
  564. </xs:simpleType>
  565. <xs:simpleType name="FlowDirectionEnum">
  566. <xs:restriction base="xs:string">
  567. <xs:enumeration value="left-to-right"/>
  568. <xs:enumeration value="right-to-left"/>
  569. <xs:enumeration value="top-to-bottom"/>
  570. <xs:enumeration value="bottom-to-top"/>
  571. </xs:restriction>
  572. </xs:simpleType>
  573. <xs:simpleType name="PopupModeEnum">
  574. <xs:restriction base="xs:string">
  575. <xs:enumeration value="modal"/>
  576. <xs:enumeration value="modeless"/>
  577. <xs:enumeration value="tooltip"/>
  578. </xs:restriction>
  579. </xs:simpleType>
  580. <xs:simpleType name="ListViewModeEnum">
  581. <xs:restriction base="xs:string">
  582. <xs:enumeration value="details"/>
  583. <xs:enumeration value="list"/>
  584. <xs:enumeration value="large-icons"/>
  585. <xs:enumeration value="small-icons"/>
  586. <xs:enumeration value="tiles"/>
  587. </xs:restriction>
  588. </xs:simpleType>
  589. <xs:simpleType name="HeaderStyleEnum">
  590. <xs:restriction base="xs:string">
  591. <xs:enumeration value="none"/>
  592. <xs:enumeration value="clickable"/>
  593. <xs:enumeration value="non-clickable"/>
  594. </xs:restriction>
  595. </xs:simpleType>
  596. <xs:simpleType name="SortingEnum">
  597. <xs:restriction base="xs:string">
  598. <xs:enumeration value="none"/>
  599. <xs:enumeration value="ascending"/>
  600. <xs:enumeration value="descending"/>
  601. </xs:restriction>
  602. </xs:simpleType>
  603. <xs:simpleType name="MergeTypeEnum">
  604. <xs:restriction base="xs:string">
  605. <xs:enumeration value="add"/>
  606. <xs:enumeration value="merge-items"/>
  607. <xs:enumeration value="remove"/>
  608. <xs:enumeration value="replace"/>
  609. </xs:restriction>
  610. </xs:simpleType>
  611. <xs:simpleType name="DataTypeEnum">
  612. <xs:restriction base="xs:string">
  613. <xs:enumeration value="text"/>
  614. <xs:enumeration value="number"/>
  615. <xs:enumeration value="date"/>
  616. <xs:enumeration value="boolean"/>
  617. <xs:enumeration value="image"/>
  618. </xs:restriction>
  619. </xs:simpleType>
  620. </xs:schema>