Commit 5bb0f0b1e6761f7b27e44ca76b7644405c14f5b0

Authored by Renato De Donato
1 parent 6b827024

new datalets + dtd

datalets.xml
@@ -4,14 +4,16 @@ @@ -4,14 +4,16 @@
4 4
5 <handler_configuration> 5 <handler_configuration>
6 <components> 6 <components>
  7 +
  8 + <!--table-->
7 <component> 9 <component>
8 <name>datatable-datalet</name> 10 <name>datatable-datalet</name>
9 <type>table</type> 11 <type>table</type>
10 <idm> 12 <idm>
11 <inputs> 13 <inputs>
12 <input> 14 <input>
13 - <name>Cell</name>  
14 - <description>cellDescription</description> 15 + <name>Column</name>
  16 + <description>ColumnDescription</description>
15 <selection>*</selection> 17 <selection>*</selection>
16 </input> 18 </input>
17 <layouts> 19 <layouts>
@@ -19,377 +21,480 @@ @@ -19,377 +21,480 @@
19 </inputs> 21 </inputs>
20 </idm> 22 </idm>
21 </component> 23 </component>
  24 +
  25 + <!--multiseries-->
  26 +
  27 + <!--bar-->
22 <component> 28 <component>
23 <name>barchart-datalet</name> 29 <name>barchart-datalet</name>
24 - <type>base</type> 30 + <type>multiseries</type>
25 <idm> 31 <idm>
26 <inputs> 32 <inputs>
27 <input> 33 <input>
28 - <name>Categories</name>  
29 - <description>categoriesDescription</description> 34 + <name>XAxis</name>
  35 + <description>XAxisDescription</description>
30 </input> 36 </input>
31 <input> 37 <input>
32 - <name>Series</name>  
33 - <description>seriesDescription</description> 38 + <name>YAxis</name>
  39 + <description>YAxisDescription</description>
34 </input> 40 </input>
35 <layouts> 41 <layouts>
36 <input> 42 <input>
37 <name>x-axis-label</name> 43 <name>x-axis-label</name>
38 <description>XAxisLabelDescription</description> 44 <description>XAxisLabelDescription</description>
  45 + <type>text</type>
39 </input> 46 </input>
40 <input> 47 <input>
41 <name>y-axis-label</name> 48 <name>y-axis-label</name>
42 <description>YAxisLabelDescription</description> 49 <description>YAxisLabelDescription</description>
  50 + <type>text</type>
43 </input> 51 </input>
44 <input> 52 <input>
45 <name>suffix</name> 53 <name>suffix</name>
46 <description>suffixDescription</description> 54 <description>suffixDescription</description>
  55 + <type>text</type>
  56 + </input>
  57 + <input>
  58 + <name>theme</name>
  59 + <description>themeDescription</description>
  60 + <type>list</type>
  61 + <list>
  62 + <item>themeBase</item>
  63 + <item>themeDarkUnika</item>
  64 + <item>themeSandSignika</item>
  65 + <item>themeGridLight</item>
  66 + <item>themeSpod</item>
  67 + </list>
47 </input> 68 </input>
48 </layouts> 69 </layouts>
49 </inputs> 70 </inputs>
50 </idm> 71 </idm>
51 </component> 72 </component>
  73 + <!--column-->
52 <component> 74 <component>
53 <name>columnchart-datalet</name> 75 <name>columnchart-datalet</name>
54 - <type>base</type> 76 + <type>multiseries</type>
55 <idm> 77 <idm>
56 <inputs> 78 <inputs>
57 <input> 79 <input>
58 - <name>Categories</name>  
59 - <description>categoriesDescription</description> 80 + <name>XAxis</name>
  81 + <description>XAxisDescription</description>
60 </input> 82 </input>
61 <input> 83 <input>
62 - <name>Series</name>  
63 - <description>seriesDescription</description> 84 + <name>YAxis</name>
  85 + <description>YAxisDescription</description>
64 </input> 86 </input>
65 <layouts> 87 <layouts>
66 <input> 88 <input>
67 <name>x-axis-label</name> 89 <name>x-axis-label</name>
68 <description>XAxisLabelDescription</description> 90 <description>XAxisLabelDescription</description>
  91 + <type>text</type>
69 </input> 92 </input>
70 <input> 93 <input>
71 <name>y-axis-label</name> 94 <name>y-axis-label</name>
72 <description>YAxisLabelDescription</description> 95 <description>YAxisLabelDescription</description>
  96 + <type>text</type>
73 </input> 97 </input>
74 <input> 98 <input>
75 <name>suffix</name> 99 <name>suffix</name>
76 <description>suffixDescription</description> 100 <description>suffixDescription</description>
  101 + <type>text</type>
  102 + </input>
  103 + <input>
  104 + <name>theme</name>
  105 + <description>themeDescription</description>
  106 + <type>list</type>
  107 + <list>
  108 + <item>themeBase</item>
  109 + <item>themeDarkUnika</item>
  110 + <item>themeSandSignika</item>
  111 + <item>themeGridLight</item>
  112 + <item>themeSpod</item>
  113 + </list>
77 </input> 114 </input>
78 </layouts> 115 </layouts>
79 </inputs> 116 </inputs>
80 </idm> 117 </idm>
81 </component> 118 </component>
  119 + <!--area-->
82 <component> 120 <component>
83 - <name>linechart-datalet</name>  
84 - <type>base</type> 121 + <name>areachart-datalet</name>
  122 + <type>multiseries</type>
85 <idm> 123 <idm>
86 <inputs> 124 <inputs>
87 <input> 125 <input>
88 - <name>Categories</name>  
89 - <description>categoriesDescription</description> 126 + <name>XAxis</name>
  127 + <description>XAxisDescription</description>
90 </input> 128 </input>
91 <input> 129 <input>
92 - <name>Series</name>  
93 - <description>seriesDescription</description> 130 + <name>YAxis</name>
  131 + <description>YAxisDescription</description>
94 </input> 132 </input>
95 <layouts> 133 <layouts>
96 <input> 134 <input>
97 <name>x-axis-label</name> 135 <name>x-axis-label</name>
98 <description>XAxisLabelDescription</description> 136 <description>XAxisLabelDescription</description>
  137 + <type>text</type>
99 </input> 138 </input>
100 <input> 139 <input>
101 <name>y-axis-label</name> 140 <name>y-axis-label</name>
102 <description>YAxisLabelDescription</description> 141 <description>YAxisLabelDescription</description>
  142 + <type>text</type>
103 </input> 143 </input>
104 <input> 144 <input>
105 <name>suffix</name> 145 <name>suffix</name>
106 <description>suffixDescription</description> 146 <description>suffixDescription</description>
  147 + <type>text</type>
  148 + </input>
  149 + <input>
  150 + <name>theme</name>
  151 + <description>themeDescription</description>
  152 + <type>list</type>
  153 + <list>
  154 + <item>themeBase</item>
  155 + <item>themeDarkUnika</item>
  156 + <item>themeSandSignika</item>
  157 + <item>themeGridLight</item>
  158 + <item>themeSpod</item>
  159 + </list>
107 </input> 160 </input>
108 </layouts> 161 </layouts>
109 </inputs> 162 </inputs>
110 </idm> 163 </idm>
111 </component> 164 </component>
  165 + <!--line-->
112 <component> 166 <component>
113 - <name>column3Dchart-datalet</name>  
114 - <type>base</type> 167 + <name>linechart-datalet</name>
  168 + <type>multiseries</type>
115 <idm> 169 <idm>
116 <inputs> 170 <inputs>
117 <input> 171 <input>
118 - <name>Categories</name>  
119 - <description>categoriesDescription</description> 172 + <name>XAxis</name>
  173 + <description>XAxisDescription</description>
120 </input> 174 </input>
121 <input> 175 <input>
122 - <name>Series</name>  
123 - <description>seriesDescription</description> 176 + <name>YAxis</name>
  177 + <description>YAxisDescription</description>
124 </input> 178 </input>
125 <layouts> 179 <layouts>
126 <input> 180 <input>
127 <name>x-axis-label</name> 181 <name>x-axis-label</name>
128 <description>XAxisLabelDescription</description> 182 <description>XAxisLabelDescription</description>
  183 + <type>text</type>
129 </input> 184 </input>
130 <input> 185 <input>
131 <name>y-axis-label</name> 186 <name>y-axis-label</name>
132 <description>YAxisLabelDescription</description> 187 <description>YAxisLabelDescription</description>
  188 + <type>text</type>
133 </input> 189 </input>
134 <input> 190 <input>
135 <name>suffix</name> 191 <name>suffix</name>
136 <description>suffixDescription</description> 192 <description>suffixDescription</description>
  193 + <type>text</type>
  194 + </input>
  195 + <input>
  196 + <name>theme</name>
  197 + <description>themeDescription</description>
  198 + <type>list</type>
  199 + <list>
  200 + <item>themeBase</item>
  201 + <item>themeDarkUnika</item>
  202 + <item>themeSandSignika</item>
  203 + <item>themeGridLight</item>
  204 + <item>themeSpod</item>
  205 + </list>
137 </input> 206 </input>
138 </layouts> 207 </layouts>
139 </inputs> 208 </inputs>
140 </idm> 209 </idm>
141 </component> 210 </component>
  211 + <!--heatmap-->
142 <component> 212 <component>
143 - <name>areachart-datalet</name>  
144 - <type>base</type> 213 + <name>heatmap-datalet</name>
  214 + <type>multiseries</type>
145 <idm> 215 <idm>
146 <inputs> 216 <inputs>
147 <input> 217 <input>
148 - <name>Categories</name>  
149 - <description>categoriesDescription</description> 218 + <name>XAxis</name>
  219 + <description>XAxisDescription</description>
150 </input> 220 </input>
151 <input> 221 <input>
152 - <name>Series</name>  
153 - <description>seriesDescription</description> 222 + <name>YAxis</name>
  223 + <description>YAxisDescription</description>
154 </input> 224 </input>
155 <layouts> 225 <layouts>
156 <input> 226 <input>
157 <name>x-axis-label</name> 227 <name>x-axis-label</name>
158 <description>XAxisLabelDescription</description> 228 <description>XAxisLabelDescription</description>
  229 + <type>text</type>
159 </input> 230 </input>
160 <input> 231 <input>
161 <name>y-axis-label</name> 232 <name>y-axis-label</name>
162 <description>YAxisLabelDescription</description> 233 <description>YAxisLabelDescription</description>
  234 + <type>text</type>
163 </input> 235 </input>
164 <input> 236 <input>
165 <name>suffix</name> 237 <name>suffix</name>
166 <description>suffixDescription</description> 238 <description>suffixDescription</description>
  239 + <type>text</type>
  240 + </input>
  241 + <input>
  242 + <name>theme</name>
  243 + <description>themeDescription</description>
  244 + <type>list</type>
  245 + <list>
  246 + <item>themeBase</item>
  247 + <item>themeDarkUnika</item>
  248 + <item>themeSandSignika</item>
  249 + <item>themeGridLight</item>
  250 + <item>themeSpod</item>
  251 + </list>
167 </input> 252 </input>
168 </layouts> 253 </layouts>
169 </inputs> 254 </inputs>
170 </idm> 255 </idm>
171 </component> 256 </component>
172 - <!--<component>-->  
173 - <!--<name>donutpie3dchart-datalet</name>-->  
174 - <!--<type>pie</type>-->  
175 - <!--<idm>-->  
176 - <!--<inputs>-->  
177 - <!--<input>-->  
178 - <!--<name>Series</name>-->  
179 - <!--<description>pieSeriesDescription</description>-->  
180 - <!--</input>-->  
181 - <!--<input>-->  
182 - <!--<name>Size</name>-->  
183 - <!--<description>pieSizeDescription</description>-->  
184 - <!--</input>-->  
185 - <!--<layouts>-->  
186 - <!--</layouts>-->  
187 - <!--</inputs>-->  
188 - <!--</idm>-->  
189 - <!--</component>-->  
190 - <component>  
191 - <name>piechart-datalet</name>  
192 - <type>pie</type>  
193 - <idm>  
194 - <inputs>  
195 - <input>  
196 - <name>Series</name>  
197 - <description>pieSeriesDescription</description>  
198 - </input>  
199 - <input>  
200 - <name>Size</name>  
201 - <description>pieSizeDescription</description>  
202 - </input>  
203 - <layouts>  
204 - </layouts>  
205 - </inputs>  
206 - </idm>  
207 - </component> 257 +
  258 + <!--multiseries_stacked-->
  259 +
  260 + <!--bar stacked-->
208 <component> 261 <component>
209 - <name>treemap-datalet</name>  
210 - <type>treemap</type> 262 + <name>barchart_stacked-datalet</name>
  263 + <type>multiseries</type>
211 <idm> 264 <idm>
212 <inputs> 265 <inputs>
213 <input> 266 <input>
214 - <name>Level</name>  
215 - <description>levelDescription</description>  
216 - <selection>*</selection> 267 + <name>XAxis</name>
  268 + <description>XAxisDescription</description>
217 </input> 269 </input>
218 - <layouts>  
219 - </layouts>  
220 - </inputs>  
221 - </idm>  
222 - </component>  
223 - <component>  
224 - <name>leafletjs-datalet</name>  
225 - <type>leafletjs</type>  
226 - <idm>  
227 - <inputs>  
228 <input> 270 <input>
229 - <name>Latitude</name>  
230 - <description>LatitudeDescription</description>  
231 - </input>  
232 - <input>  
233 - <name>Longitude</name>  
234 - <description>LongitudeDescription</description>  
235 - </input>  
236 - <input>  
237 - <name>Balloon content</name>  
238 - <description>BalloonContentDescription</description> 271 + <name>YAxis</name>
  272 + <description>YAxisDescription</description>
239 </input> 273 </input>
240 <layouts> 274 <layouts>
  275 + <input>
  276 + <name>x-axis-label</name>
  277 + <description>XAxisLabelDescription</description>
  278 + <type>text</type>
  279 + </input>
  280 + <input>
  281 + <name>y-axis-label</name>
  282 + <description>YAxisLabelDescription</description>
  283 + <type>text</type>
  284 + </input>
  285 + <input>
  286 + <name>suffix</name>
  287 + <description>suffixDescription</description>
  288 + <type>text</type>
  289 + </input>
  290 + <input>
  291 + <name>theme</name>
  292 + <description>themeDescription</description>
  293 + <type>list</type>
  294 + <list>
  295 + <item>themeBase</item>
  296 + <item>themeDarkUnika</item>
  297 + <item>themeSandSignika</item>
  298 + <item>themeGridLight</item>
  299 + <item>themeSpod</item>
  300 + </list>
  301 + </input>
  302 + <input>
  303 + <name>stack</name>
  304 + <description>stackDescription</description>
  305 + <type>list</type>
  306 + <list>
  307 + <item>normal</item>
  308 + <item>percent</item>
  309 + </list>
  310 + </input>
241 </layouts> 311 </layouts>
242 </inputs> 312 </inputs>
243 </idm> 313 </idm>
244 </component> 314 </component>
  315 + <!--column stacked-->
245 <component> 316 <component>
246 - <name>bubble3d-datalet</name>  
247 - <type>bubble</type> 317 + <name>columnchart_stacked-datalet</name>
  318 + <type>multiseries</type>
248 <idm> 319 <idm>
249 <inputs> 320 <inputs>
250 <input> 321 <input>
251 - <name>Categories</name>  
252 - <description>bubbleCategoriesDescription</description>  
253 - </input>  
254 - <input>  
255 - <name>Y values</name>  
256 - <description>bubbleYValuesDescription</description> 322 + <name>XAxis</name>
  323 + <description>XAxisDescription</description>
257 </input> 324 </input>
258 <input> 325 <input>
259 - <name>Z values</name>  
260 - <description>bubbleZValuesDescription</description>  
261 - </input>  
262 - <input>  
263 - <name>Series</name>  
264 - <description>bubbleSeriesDescription</description> 326 + <name>YAxis</name>
  327 + <description>YAxisDescription</description>
265 </input> 328 </input>
266 <layouts> 329 <layouts>
267 <input> 330 <input>
268 <name>x-axis-label</name> 331 <name>x-axis-label</name>
269 <description>XAxisLabelDescription</description> 332 <description>XAxisLabelDescription</description>
  333 + <type>text</type>
270 </input> 334 </input>
271 <input> 335 <input>
272 <name>y-axis-label</name> 336 <name>y-axis-label</name>
273 <description>YAxisLabelDescription</description> 337 <description>YAxisLabelDescription</description>
  338 + <type>text</type>
274 </input> 339 </input>
275 <input> 340 <input>
276 <name>suffix</name> 341 <name>suffix</name>
277 <description>suffixDescription</description> 342 <description>suffixDescription</description>
  343 + <type>text</type>
  344 + </input>
  345 + <input>
  346 + <name>theme</name>
  347 + <description>themeDescription</description>
  348 + <type>list</type>
  349 + <list>
  350 + <item>themeBase</item>
  351 + <item>themeDarkUnika</item>
  352 + <item>themeSandSignika</item>
  353 + <item>themeGridLight</item>
  354 + <item>themeSpod</item>
  355 + </list>
  356 + </input>
  357 + <input>
  358 + <name>stack</name>
  359 + <description>stackDescription</description>
  360 + <type>list</type>
  361 + <list>
  362 + <item>normal</item>
  363 + <item>percent</item>
  364 + </list>
278 </input> 365 </input>
279 </layouts> 366 </layouts>
280 </inputs> 367 </inputs>
281 </idm> 368 </idm>
282 </component> 369 </component>
  370 + <!--area stacked-->
283 <component> 371 <component>
284 - <name>bubblechart-datalet</name>  
285 - <type>bubble</type> 372 + <name>areachart_stacked-datalet</name>
  373 + <type>multiseries</type>
286 <idm> 374 <idm>
287 <inputs> 375 <inputs>
288 <input> 376 <input>
289 - <name>Categories</name>  
290 - <description>bubbleCategoriesDescription</description>  
291 - </input>  
292 - <input>  
293 - <name>Y values</name>  
294 - <description>bubbleYValuesDescription</description>  
295 - </input>  
296 - <input>  
297 - <name>Z values</name>  
298 - <description>bubbleZValuesDescription</description> 377 + <name>XAxis</name>
  378 + <description>XAxisDescription</description>
299 </input> 379 </input>
300 <input> 380 <input>
301 - <name>Series</name>  
302 - <description>bubbleSeriesDescription</description> 381 + <name>YAxis</name>
  382 + <description>YAxisDescription</description>
303 </input> 383 </input>
304 <layouts> 384 <layouts>
305 <input> 385 <input>
306 <name>x-axis-label</name> 386 <name>x-axis-label</name>
307 <description>XAxisLabelDescription</description> 387 <description>XAxisLabelDescription</description>
  388 + <type>text</type>
308 </input> 389 </input>
309 <input> 390 <input>
310 <name>y-axis-label</name> 391 <name>y-axis-label</name>
311 <description>YAxisLabelDescription</description> 392 <description>YAxisLabelDescription</description>
  393 + <type>text</type>
312 </input> 394 </input>
313 <input> 395 <input>
314 <name>suffix</name> 396 <name>suffix</name>
315 <description>suffixDescription</description> 397 <description>suffixDescription</description>
  398 + <type>text</type>
  399 + </input>
  400 + <input>
  401 + <name>theme</name>
  402 + <description>themeDescription</description>
  403 + <type>list</type>
  404 + <list>
  405 + <item>themeBase</item>
  406 + <item>themeDarkUnika</item>
  407 + <item>themeSandSignika</item>
  408 + <item>themeGridLight</item>
  409 + <item>themeSpod</item>
  410 + </list>
  411 + </input>
  412 + <input>
  413 + <name>stack</name>
  414 + <description>stackDescription</description>
  415 + <type>list</type>
  416 + <list>
  417 + <item>normal</item>
  418 + <item>percent</item>
  419 + </list>
316 </input> 420 </input>
317 </layouts> 421 </layouts>
318 </inputs> 422 </inputs>
319 </idm> 423 </idm>
320 </component> 424 </component>
  425 +
  426 + <!--pie-->
321 <component> 427 <component>
322 - <name>scatterchart-datalet</name>  
323 - <type>scatter</type> 428 + <name>piechart-datalet</name>
  429 + <type>pie</type>
324 <idm> 430 <idm>
325 <inputs> 431 <inputs>
326 <input> 432 <input>
327 - <name>Categories</name>  
328 - <description>scatterCategoriesDescription</description> 433 + <name>SliceLabels</name>
  434 + <description>SliceLabelsDescription</description>
329 </input> 435 </input>
330 <input> 436 <input>
331 - <name>X values</name>  
332 - <description>scatterXValuesDescription</description>  
333 - </input>  
334 - <input>  
335 - <name>Y values</name>  
336 - <description>scatterYValuesDescription</description> 437 + <name>SliceSizes</name>
  438 + <description>SliceSizesDescription</description>
337 </input> 439 </input>
338 <layouts> 440 <layouts>
339 <input> 441 <input>
340 - <name>x-axis-label</name>  
341 - <description>XAxisLabelDescription</description> 442 + <name>suffix</name>
  443 + <description>suffixDescription</description>
  444 + <type>text</type>
342 </input> 445 </input>
343 <input> 446 <input>
344 - <name>y-axis-label</name>  
345 - <description>YAxisLabelDescription</description> 447 + <name>theme</name>
  448 + <description>themeDescription</description>
  449 + <type>list</type>
  450 + <list>
  451 + <item>themeBase</item>
  452 + <item>themeDarkUnika</item>
  453 + <item>themeSandSignika</item>
  454 + <item>themeGridLight</item>
  455 + <item>themeSpod</item>
  456 + </list>
346 </input> 457 </input>
347 <input> 458 <input>
348 - <name>suffix</name>  
349 - <description>suffixDescription</description> 459 + <name>donut</name>
  460 + <description>donutDescription</description>
  461 + <type>list</type>
  462 + <list>
  463 + <item>false</item>
  464 + <item>true</item>
  465 + </list>
350 </input> 466 </input>
351 </layouts> 467 </layouts>
352 </inputs> 468 </inputs>
353 </idm> 469 </idm>
354 </component> 470 </component>
  471 +
  472 + <!--map-->
355 <component> 473 <component>
356 - <name>heatmap-datalet</name>  
357 - <type>heatmap</type> 474 + <name>leafletjs-datalet</name>
  475 + <type>map</type>
358 <idm> 476 <idm>
359 <inputs> 477 <inputs>
360 <input> 478 <input>
361 - <name>Categories</name>  
362 - <description>heatmapCategoriesDescription</description>  
363 - </input>  
364 - <input>  
365 - <name>Series</name>  
366 - <description>seriesDescription</description>  
367 - </input>  
368 - <input>  
369 - <name>Series</name>  
370 - <description>seriesDescription</description>  
371 - </input>  
372 - <input>  
373 - <name>Series</name>  
374 - <description>seriesDescription</description>  
375 - </input>  
376 - <input>  
377 - <name>Series</name>  
378 - <description>seriesDescription</description> 479 + <name>Latitude</name>
  480 + <description>LatitudeDescription</description>
379 </input> 481 </input>
380 <input> 482 <input>
381 - <name>Series</name>  
382 - <description>seriesDescription</description> 483 + <name>Longitude</name>
  484 + <description>LongitudeDescription</description>
383 </input> 485 </input>
384 <input> 486 <input>
385 - <name>Series</name>  
386 - <description>seriesDescription</description> 487 + <name>BalloonContent</name>
  488 + <description>BalloonContentDescription</description>
  489 + <selection>*</selection>
387 </input> 490 </input>
388 <layouts> 491 <layouts>
389 </layouts> 492 </layouts>
390 </inputs> 493 </inputs>
391 </idm> 494 </idm>
392 </component> 495 </component>
  496 +
  497 + <!--preview HIDDEN-->
393 <component> 498 <component>
394 <name>preview-datalet</name> 499 <name>preview-datalet</name>
395 <type>hidden</type> 500 <type>hidden</type>
@@ -408,5 +513,6 @@ @@ -408,5 +513,6 @@
408 </inputs> 513 </inputs>
409 </idm> 514 </idm>
410 </component> 515 </component>
  516 +
411 </components> 517 </components>
412 </handler_configuration> 518 </handler_configuration>
datalets/datalets.dtd
1 <!ELEMENT handler_configuration (components)> 1 <!ELEMENT handler_configuration (components)>
2 <!ELEMENT components (component*)> 2 <!ELEMENT components (component*)>
3 <!ELEMENT component (name, type, idm)> 3 <!ELEMENT component (name, type, idm)>
4 -<!--<!ELEMENT component (name, attributes, idm)>-->  
5 -<!--<!ELEMENT attributes (attribute*)>-->  
6 -<!--<!ELEMENT attribute (name)>-->  
7 <!ELEMENT idm (inputs*)> 4 <!ELEMENT idm (inputs*)>
8 <!ELEMENT inputs (input*, layouts)> 5 <!ELEMENT inputs (input*, layouts)>
9 <!ELEMENT layouts (input*)> 6 <!ELEMENT layouts (input*)>
10 -<!--<!ELEMENT input (name, description?, scale?, role?, selection?, type?, validator?)>-->  
11 -<!ELEMENT input (name, description?, selection?, type?, validator?)> 7 +<!ELEMENT input (name, description?, selection?, type?, validator?, list?)>
  8 +<!ELEMENT list (item+)>
  9 +<!ELEMENT item (#PCDATA)>
12 <!ELEMENT name (#PCDATA)> 10 <!ELEMENT name (#PCDATA)>
13 <!ELEMENT description (#PCDATA)> 11 <!ELEMENT description (#PCDATA)>
14 -<!--<!ELEMENT scale (#PCDATA)>-->  
15 -<!--<!ELEMENT role (#PCDATA)>-->  
16 <!ELEMENT selection (#PCDATA)> 12 <!ELEMENT selection (#PCDATA)>
17 <!ELEMENT type (#PCDATA)> 13 <!ELEMENT type (#PCDATA)>
18 -<!ELEMENT validator (#PCDATA)>  
19 - 14 +<!ELEMENT validator (#PCDATA)>
20 \ No newline at end of file 15 \ No newline at end of file