Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 324731 | Differences between
and this patch

Collapse All | Expand All

(-)cssprofile/cssprofile-css3.xml (+2566 lines)
Added Link Here
1
<?xml version="1.0" encoding="UTF-8" ?>
2
<!--
3
/*******************************************************************************
4
 * Copyright (c) 2010 IBM Corporation and others.
5
 * All rights reserved. This program and the accompanying materials
6
 * are made available under the terms of the Eclipse Public License v1.0
7
 * which accompanies this distribution, and is available at
8
 * http://www.eclipse.org/legal/epl-v10.html
9
 * 
10
 * Contributors:
11
 *     IBM Corporation - initial API and implementation
12
 *******************************************************************************/
13
 -->
14
<!--<!DOCTYPE css-profile SYSTEM "css-profile.dtd" >-->
15
<css-profile>
16
	<stylesheet-def>
17
		<description>%css3.stylesheet-def.description</description>
18
		<charset-rule/>
19
		<import-rule/>
20
		<page-rule/>
21
		<media-rule/>
22
		<fontface-rule/>
23
		<style-rule/>
24
	</stylesheet-def>
25
26
	<charset-rule-def>
27
	</charset-rule-def>
28
	<import-rule-def>
29
	</import-rule-def>
30
	<media-rule-def>
31
	</media-rule-def>
32
33
	<page-rule-def>
34
		<pseudo-class name="left"/>
35
		<pseudo-class name="right"/>
36
		<pseudo-class name="first"/>
37
		<property name="size"/>
38
		<property name="marks"/>
39
		<property name="page-break-after"/>
40
		<property name="page-break-before"/>
41
		<property name="page-break-inside"/>
42
		<property name="orphans"/>
43
		<property name="widows"/>
44
	</page-rule-def>
45
46
	<fontface-rule-def>
47
		<descriptor name="ascent"/>
48
		<descriptor name="baseline"/>
49
		<descriptor name="bbox"/>
50
		<descriptor name="cap-height"/>
51
		<descriptor name="centerline"/>
52
		<descriptor name="definition-src"/>
53
		<descriptor name="descent"/>
54
		<descriptor name="font-family"/>
55
		<descriptor name="font-size"/>
56
		<descriptor name="font-stretch"/>
57
		<descriptor name="font-style"/>
58
		<descriptor name="font-variant"/>
59
		<descriptor name="font-weight"/>
60
		<descriptor name="mathline"/>
61
		<descriptor name="panose-1"/>
62
		<descriptor name="slope"/>
63
		<descriptor name="slope"/>
64
		<descriptor name="src"/>
65
		<descriptor name="stemh"/>
66
		<descriptor name="stemv"/>
67
		<descriptor name="topline"/>
68
		<descriptor name="unicode-range"/>
69
		<descriptor name="units-per-em"/>
70
		<descriptor name="widths"/>
71
		<descriptor name="x-height"/>
72
	</fontface-rule-def>
73
74
	<!-- Which properties can style rule include ? -->
75
76
	<style-rule-def>
77
		<selector-expression name="descendant"/>
78
		<selector-expression name="child"/>
79
		<selector-expression name="adjacent"/>
80
		<selector-expression name="universal"/>
81
		<selector-expression name="attribute"/>
82
		<pseudo-element name="first-line"/>
83
		<pseudo-element name="first-letter"/>
84
		<pseudo-element name="before"/>
85
		<pseudo-element name="after"/>
86
		<pseudo-element name=":selection"/>
87
		<pseudo-class name="first-child"/>
88
		<pseudo-class name="link"/>
89
		<pseudo-class name="visited"/>
90
		<pseudo-class name="hover"/>
91
		<pseudo-class name="active"/>
92
		<pseudo-class name="focus"/>
93
		<pseudo-class name="empty"/>
94
		<pseudo-class name="enabled"/>
95
		<pseudo-class name="disabled"/>
96
		<pseudo-class name="checked"/>
97
		<pseudo-class name="first-of-type"/>
98
		<pseudo-class name="last-child"/>
99
		<pseudo-class name="last-of-type"/>
100
		<pseudo-class name="not()"/>
101
		<pseudo-class name="nth-child()"/>
102
		<pseudo-class name="nth-last-child()"/>
103
		<pseudo-class name="nth-last-of-type()"/>
104
		<pseudo-class name="nth-of-type()"/>
105
		<pseudo-class name="only-child"/>
106
		<pseudo-class name="only-of-type"/>
107
		<pseudo-class name="root"/>
108
		<pseudo-class name="target"/>
109
		<property name="azimuth"/>
110
		<property name="background"/>
111
		<property name="background-attachment"/>
112
		<property name="background-clip"/>
113
		<property name="background-color"/>
114
		<property name="background-image"/>
115
		<property name="background-origin"/>
116
		<property name="background-position"/>
117
		<property name="background-repeat"/>
118
		<property name="background-size"/>
119
		<property name="border"/>
120
		<property name="border-collapse"/>
121
		<property name="border-color"/>
122
		<property name="border-spacing"/>
123
		<property name="border-style"/>
124
		<property name="border-top"/>
125
		<property name="border-right"/>
126
		<property name="border-bottom"/>
127
		<property name="border-left"/>
128
		<property name="border-top-color"/>
129
		<property name="border-right-color"/>
130
		<property name="border-bottom-color"/>
131
		<property name="border-left-color"/>
132
		<property name="border-top-style"/>
133
		<property name="border-right-style"/>
134
		<property name="border-bottom-style"/>
135
		<property name="border-left-style"/>
136
		<property name="border-top-width"/>
137
		<property name="border-right-width"/>
138
		<property name="border-bottom-width"/>
139
		<property name="border-left-width"/>
140
		<property name="border-width"/>
141
		<property name="border-top-left-radius"/>
142
		<property name="border-top-right-radius"/>
143
		<property name="border-bottom-left-radius"/>
144
		<property name="border-bottom-right-radius"/>
145
		<property name="border-radius"/>
146
		<property name="bottom"/>
147
		<property name="box-shadow"/>
148
		<property name="box-sizing"/>
149
		<property name="caption-side"/>
150
		<property name="clear"/>
151
		<property name="clip"/>
152
		<property name="color"/>
153
		<property name="content"/>
154
		<property name="columns"/>
155
		<property name="column-count"/>
156
		<property name="column-width"/>
157
		<property name="column-gap"/>
158
		<property name="column-rule-color"/>
159
		<property name="column-rule-style"/>
160
		<property name="column-rule-width"/>
161
		<property name="column-rule"/>
162
		<property name="column-span"/>
163
		<property name="column-fill"/>
164
		<property name="counter-increment"/>
165
		<property name="counter-reset"/>
166
		<property name="cue"/>
167
		<property name="cue-after"/>
168
		<property name="cue-before"/>
169
		<property name="cursor"/>
170
		<property name="direction"/>
171
		<property name="display"/>
172
		<property name="elevation"/>
173
		<property name="empty-cells"/>
174
		<property name="float"/>
175
		<property name="font"/>
176
		<property name="font-family"/>
177
		<property name="font-size"/>
178
		<property name="font-size-adjust"/>
179
		<property name="font-stretch"/>
180
		<property name="font-style"/>
181
		<property name="font-variant"/>
182
		<property name="font-weight"/>
183
		<property name="height"/>
184
		<property name="left"/>
185
		<property name="letter-spacing"/>
186
		<property name="line-height"/>
187
		<property name="list-style"/>
188
		<property name="list-style-image"/>
189
		<property name="list-style-position"/>
190
		<property name="list-style-type"/>
191
		<property name="margin"/>
192
		<property name="margin-top"/>
193
		<property name="margin-right"/>
194
		<property name="margin-bottom"/>
195
		<property name="margin-left"/>
196
		<property name="marker-offset"/>
197
		<property name="marks"/>
198
		<property name="max-height"/>
199
		<property name="max-width"/>
200
		<property name="min-height"/>
201
		<property name="min-width"/>
202
		<property name="opacity"/>
203
		<property name="orphans"/>
204
		<property name="outline"/>
205
		<property name="outline-color"/>
206
		<property name="outline-style"/>
207
		<property name="outline-width"/>
208
		<property name="overflow"/>
209
		<property name="padding"/>
210
		<property name="padding-top"/>
211
		<property name="padding-right"/>
212
		<property name="padding-bottom"/>
213
		<property name="padding-left"/>
214
		<property name="page"/>
215
		<property name="page-break-after"/>
216
		<property name="page-break-before"/>
217
		<property name="page-break-inside"/>
218
		<property name="pause"/>
219
		<property name="pause-after"/>
220
		<property name="pause-before"/>
221
		<property name="pitch"/>
222
		<property name="pitch-range"/>
223
		<property name="play-during"/>
224
		<property name="position"/>
225
		<property name="quotes"/>
226
		<property name="resize"/>
227
		<property name="richness"/>
228
		<property name="right"/>
229
		<property name="size"/>
230
		<property name="speak"/>
231
		<property name="speak-header"/>
232
		<property name="speak-numeral"/>
233
		<property name="speak-punctuation"/>
234
		<property name="speech-rate"/>
235
		<property name="stress"/>
236
		<property name="table-layout"/>
237
		<property name="text-align"/>
238
		<property name="text-decoration"/>
239
		<property name="text-indent"/>
240
		<property name="text-overflow"/>
241
		<property name="text-shadow"/>
242
		<property name="text-transform"/>
243
		<property name="top"/>
244
		<property name="unicode-bidi"/>
245
		<property name="vertical-align"/>
246
		<property name="visibility"/>
247
		<property name="voice-family"/>
248
		<property name="volume"/>
249
		<property name="white-space"/>
250
		<property name="widows"/>
251
		<property name="width"/>
252
		<property name="word-spacing"/>
253
		<property name="z-index"/>
254
	</style-rule-def>
255
256
	<pseudo-class-def name="checked" version="3">
257
		<selector-value>checked</selector-value>
258
	</pseudo-class-def>
259
	<pseudo-class-def name="disabled" version="3">
260
		<selector-value>disabled</selector-value>
261
	</pseudo-class-def>
262
	<pseudo-class-def name="empty" version="3">
263
		<selector-value>empty</selector-value>
264
	</pseudo-class-def>
265
	<pseudo-class-def name="enabled" version="3">
266
		<selector-value>enabled</selector-value>
267
	</pseudo-class-def>
268
	<pseudo-class-def name="first-of-type" version="3">
269
		<selector-value>first-of-type</selector-value>
270
	</pseudo-class-def>
271
	<pseudo-class-def name="last-child" version="3">
272
		<selector-value>last-child</selector-value>
273
	</pseudo-class-def>
274
	<pseudo-class-def name="last-of-type" version="3">
275
		<selector-value>last-of-type</selector-value>
276
	</pseudo-class-def>
277
	<pseudo-class-def name="not()" version="3">
278
		<selector-value>not()</selector-value>
279
	</pseudo-class-def>
280
	<pseudo-class-def name="nth-child()" version="3">
281
		<selector-value>nth-child()</selector-value>
282
	</pseudo-class-def>
283
	<pseudo-class-def name="nth-last-child()" version="3">
284
		<selector-value>nth-last-child()</selector-value>
285
	</pseudo-class-def>
286
	<pseudo-class-def name="nth-last-of-type()" version="3">
287
		<selector-value>nth-last-of-type()</selector-value>
288
	</pseudo-class-def>
289
	<pseudo-class-def name="nth-of-type()" version="3">
290
		<selector-value>nth-of-type()</selector-value>
291
	</pseudo-class-def>
292
	<pseudo-class-def name="only-child" version="3">
293
		<selector-value>only-child</selector-value>
294
	</pseudo-class-def>
295
	<pseudo-class-def name="only-of-type" version="3">
296
		<selector-value>only-of-type</selector-value>
297
	</pseudo-class-def>
298
	<pseudo-class-def name="root" version="3">
299
		<selector-value>root</selector-value>
300
	</pseudo-class-def>
301
	<pseudo-class-def name="target" version="3">
302
		<selector-value>target</selector-value>
303
	</pseudo-class-def>
304
	<pseudo-class-def name="first-child">
305
		<selector-value>first-child</selector-value>
306
	</pseudo-class-def>
307
	<pseudo-class-def name="link">
308
		<selector-value>link</selector-value>
309
	</pseudo-class-def>
310
	<pseudo-class-def name="visited">
311
		<selector-value>visited</selector-value>
312
	</pseudo-class-def>
313
	<pseudo-class-def name="hover">
314
		<selector-value>hover</selector-value>
315
	</pseudo-class-def>
316
	<pseudo-class-def name="active">
317
		<selector-value>active</selector-value>
318
	</pseudo-class-def>
319
	<pseudo-class-def name="focus">
320
		<selector-value>focus</selector-value>
321
	</pseudo-class-def>
322
	<pseudo-class-def name="lang">
323
		<selector-value>lang</selector-value>
324
	</pseudo-class-def>
325
	<pseudo-class-def name="left">
326
		<selector-value>left</selector-value>
327
	</pseudo-class-def>
328
	<pseudo-class-def name="right">
329
		<selector-value>right</selector-value>
330
	</pseudo-class-def>
331
	<pseudo-class-def name="first">
332
		<selector-value>first</selector-value>
333
	</pseudo-class-def>
334
335
	<pseudo-element-def name="first-line">
336
		<selector-value>first-line</selector-value>
337
	</pseudo-element-def>
338
	<pseudo-element-def name="first-letter">
339
		<selector-value>first-letter</selector-value>
340
	</pseudo-element-def>
341
	<pseudo-element-def name="before">
342
		<selector-value>before</selector-value>
343
	</pseudo-element-def>
344
	<pseudo-element-def name="after">
345
		<selector-value>after</selector-value>
346
	</pseudo-element-def>
347
	<pseudo-element-def name=":selection">
348
		<selector-value>:selection</selector-value>
349
	</pseudo-element-def>
350
351
	<!-- property definition -->
352
353
	<property-def name="azimuth"
354
		inherited="yes" mediagroup="aural" category="aural">
355
        <description>This provides spatial audio property for aural
356
        presentation</description>
357
        <number name="angle"/>
358
        <keyword name="left-side"/>
359
        <keyword name="far-left"/>
360
        <keyword name="left"/>
361
        <keyword name="center-left"/>
362
        <keyword name="center"/>
363
        <keyword name="center-right"/>
364
        <keyword name="right"/>
365
        <keyword name="far-right"/>
366
        <keyword name="right-side"/>
367
        <keyword name="behind"/>
368
        <keyword name="leftwards"/>
369
        <keyword name="rightwards"/>
370
        <keyword name="inherit"/>
371
    </property-def>
372
    <property-def name="background"
373
		inherited="no" mediagroup="visual" category="colorandbackground">
374
        <property name="background-color"/>
375
        <property name="background-image"/>
376
        <property name="background-repeat"/>
377
        <property name="background-attachment"/>
378
        <property name="background-position"/>
379
        <keyword name="inherit"/>
380
    </property-def>
381
    <property-def name="background-attachment"
382
		inherited="no" mediagroup="visual" category="colorandbackground">
383
        <keyword name="scroll"/>
384
        <keyword name="fixed"/>
385
        <keyword name="local"/>
386
        <keyword name="inherit"/>
387
    </property-def>
388
    <property-def name="background-clip"
389
		inherited="no" mediagroup="visual" category="colorandbackground" version="3">
390
        <keyword name="border-box"/>
391
        <keyword name="content-box"/>
392
        <keyword name="padding-box"/>
393
        <keyword name="inherit"/>
394
    </property-def>
395
    <property-def name="background-color"
396
		inherited="no" mediagroup="visual" category="colorandbackground">
397
        <container name="color"/>
398
        <keyword name="transparent"/>
399
        <keyword name="inherit"/>
400
    </property-def>
401
    <property-def name="background-image"
402
		inherited="no" mediagroup="visual" category="colorandbackground">
403
        <function name="uri"/>
404
        <keyword name="none"/>
405
        <keyword name="inherit"/>
406
    </property-def>
407
    <property-def name="background-origin"
408
		inherited="no" mediagroup="visual" category="colorandbackground" version="3">
409
		<keyword name="padding-box"/>
410
        <keyword name="border-box"/>
411
        <keyword name="content-box"/>
412
        <keyword name="inherit"/>
413
    </property-def>
414
	<property-def name="background-position"
415
		inherited="no" mediagroup="visual" category="colorandbackground">
416
		<number name="percentage"/>
417
		<number name="length"/>
418
		<keyword name="top"/>
419
		<keyword name="center"/>
420
		<keyword name="bottom"/>
421
		<keyword name="left"/>
422
		<keyword name="right"/>
423
		<keyword name="inherit"/>
424
	</property-def>
425
	<property-def name="background-repeat"
426
		inherited="no" mediagroup="visual" category="colorandbackground">
427
		<keyword name="repeat"/>
428
		<keyword name="repeat-x"/>
429
		<keyword name="repeat-y"/>
430
		<keyword name="space"/>
431
		<keyword name="round"/>
432
		<keyword name="no-repeat"/>
433
		<keyword name="inherit"/>
434
	</property-def>
435
	<property-def name="background-size"
436
		inherited="no" mediagroup="visual" category="colorandbackground" version="3">
437
		<number name="percentage"/>
438
		<number name="length"/>
439
		<keyword name="contain"/>
440
		<keyword name="cover"/>
441
		<keyword name="inherit"/>
442
	</property-def>
443
	<property-def name="border"
444
		inherited="no" mediagroup="visual" category="box">
445
		<property name="border-width"/>
446
		<property name="border-style"/>
447
		<container name="color"/>
448
		<keyword name="inherit"/>
449
	</property-def>
450
	<property-def name="border-collapse"
451
		inherited="yes" mediagroup="visual" category="tables">
452
		<keyword name="collapse"/>
453
		<keyword name="separate"/>
454
		<keyword name="inherit"/>
455
	</property-def>
456
	<property-def name="border-color"
457
		inherited="no" mediagroup="visual" category="box">
458
		<container name="color"/>
459
		<keyword name="transparent"/>
460
		<keyword name="inherit"/>
461
	</property-def>
462
	<property-def name="border-spacing"
463
		inherited="yes" mediagroup="visual" category="tables">
464
		<number name="length"/>
465
		<keyword name="inherit"/>
466
	</property-def>
467
	<property-def name="border-style"
468
		inherited="no" mediagroup="visual" category="box">
469
		<container name="border-style"/>
470
		<keyword name="inherit"/>
471
	</property-def>
472
	<property-def name="border-top"
473
		inherited="no" mediagroup="visual" category="box">
474
		<property name="border-top-width"/>
475
		<property name="border-style"/>
476
		<container name="color"/>
477
		<keyword name="inherit"/>
478
	</property-def>
479
	<property-def name="border-top-left-radius"
480
		inherited="no" mediagroup="visual" category="box" version="3">
481
		<number name="length"/>
482
		<keyword name="inherit"/>
483
	</property-def>
484
	<property-def name="border-top-right-radius"
485
		inherited="no" mediagroup="visual" category="box" version="3">
486
		<number name="length"/>
487
		<keyword name="inherit"/>
488
	</property-def>
489
	<property-def name="border-bottom-right-radius"
490
		inherited="no" mediagroup="visual" category="box" version="3">
491
		<number name="length"/>
492
		<keyword name="inherit"/>
493
	</property-def>
494
	<property-def name="border-bottom-right-radius"
495
		inherited="no" mediagroup="visual" category="box" version="3">
496
		<number name="length"/>
497
		<keyword name="inherit"/>
498
	</property-def>
499
	<property-def name="border-radius"
500
		inherited="no" mediagroup="visual" category="box" version="3">
501
		<number name="length"/>
502
		<keyword name="inherit"/>
503
	</property-def>
504
	<property-def name="border-right"
505
		inherited="no" mediagroup="visual" category="box">
506
		<property name="border-right-width"/>
507
		<property name="border-style"/>
508
		<container name="color"/>
509
		<keyword name="inherit"/>
510
	</property-def>
511
	<property-def name="border-bottom"
512
		inherited="no" mediagroup="visual" category="box">
513
		<property name="border-bottom-width"/>
514
		<property name="border-style"/>
515
		<container name="color"/>
516
		<keyword name="inherit"/>
517
	</property-def>
518
	<property-def name="border-left"
519
		inherited="no" mediagroup="visual" category="box">
520
		<property name="border-left-width"/>
521
		<property name="border-style"/>
522
		<container name="color"/>
523
		<keyword name="inherit"/>
524
	</property-def>
525
	<property-def name="border-top-color"
526
		inherited="no" mediagroup="visual" category="box">
527
		<container name="color"/>
528
		<keyword name="inherit"/>
529
	</property-def>
530
	<property-def name="border-right-color"
531
		inherited="no" mediagroup="visual" category="box">
532
		<container name="color"/>
533
		<keyword name="inherit"/>
534
	</property-def>
535
	<property-def name="border-bottom-color"
536
		inherited="no" mediagroup="visual" category="box">
537
		<container name="color"/>
538
		<keyword name="inherit"/>
539
	</property-def>
540
	<property-def name="border-left-color"
541
		inherited="no" mediagroup="visual" category="box">
542
		<container name="color"/>
543
		<keyword name="inherit"/>
544
	</property-def>
545
	<property-def name="border-top-style"
546
		inherited="no" mediagroup="visual" category="box">
547
		<container name="border-style"/>
548
		<keyword name="inherit"/>
549
	</property-def>
550
	<property-def name="border-right-style"
551
		inherited="no" mediagroup="visual" category="box">
552
		<container name="border-style"/>
553
		<keyword name="inherit"/>
554
	</property-def>
555
	<property-def name="border-bottom-style"
556
		inherited="no" mediagroup="visual" category="box">
557
		<container name="border-style"/>
558
		<keyword name="inherit"/>
559
	</property-def>
560
	<property-def name="border-left-style"
561
		inherited="no" mediagroup="visual" category="box">
562
		<container name="border-style"/>
563
		<keyword name="inherit"/>
564
	</property-def>
565
	<property-def name="border-top-width"
566
		inherited="no" mediagroup="visual" category="box">
567
		<container name="border-width"/>
568
		<keyword name="inherit"/>
569
	</property-def>
570
	<property-def name="border-right-width"
571
		inherited="no" mediagroup="visual" category="box">
572
		<container name="border-width"/>
573
		<keyword name="inherit"/>
574
	</property-def>
575
	<property-def name="border-bottom-width"
576
		inherited="no" mediagroup="visual" category="box">
577
		<container name="border-width"/>
578
		<keyword name="inherit"/>
579
	</property-def>
580
	<property-def name="border-left-width"
581
		inherited="no" mediagroup="visual" category="box">
582
		<container name="border-width"/>
583
		<keyword name="inherit"/>
584
	</property-def>
585
	<property-def name="border-width"
586
		inherited="no" mediagroup="visual" category="box">
587
		<container name="border-width"/>
588
		<keyword name="inherit"/>
589
	</property-def>
590
	<property-def name="bottom"
591
		inherited="no" mediagroup="visual" category="visual">
592
		<number name="length"/>
593
		<number name="percentage"/>
594
		<keyword name="auto"/>
595
		<keyword name="inherit"/>
596
	</property-def>
597
	<property-def name="box-shadow"
598
		inherited="no" mediagroup="visual" category="visual" version="3">
599
		<number name="length"/>
600
		<container name="color"/>
601
		<keyword name="inherit"/>
602
	</property-def>
603
	<property-def name="box-sizing"
604
		inherited="no" mediagroup="visual" category="box" version="3">
605
		<keyword name="border-box"/>
606
		<keyword name="content-box"/>
607
		<keyword name="inherit"/>
608
	</property-def>
609
	<property-def name="caption-side"
610
		inherited="yes" mediagroup="visual" category="tables">
611
		<keyword name="top"/>
612
		<keyword name="bottom"/>
613
		<keyword name="left"/>
614
		<keyword name="right"/>
615
		<keyword name="inherit"/>
616
	</property-def>
617
	<property-def name="clear"
618
		inherited="no" mediagroup="visual" category="visual">
619
		<keyword name="none"/>
620
		<keyword name="left"/>
621
		<keyword name="right"/>
622
		<keyword name="both"/>
623
		<keyword name="inherit"/>
624
	</property-def>
625
	<property-def name="clip"
626
		inherited="no" mediagroup="visual" category="visual">
627
		<container name="shape"/>
628
		<keyword name="auto"/>
629
		<keyword name="inherit"/>
630
	</property-def>
631
	<property-def name="color"
632
		inherited="yes" mediagroup="visual" category="colorandbackground">
633
		<container name="color"/>
634
		<keyword name="inherit"/>
635
	</property-def>
636
	<property-def name="columns"
637
		inherited="no" mediagroup="visual" category="visual" version="3">
638
		<property name="column-width"/>
639
		<property name="column-count"/>
640
		<keyword name="inherit"/>
641
	</property-def>
642
	<property-def name="column-width"
643
		inherited="no" mediagroup="visual" category="visual" version="3">
644
		<number name="length"/>
645
		<keyword name="auto"/>
646
		<keyword name="inherit"/>
647
	</property-def>
648
	<property-def name="column-count"
649
		inherited="no" mediagroup="visual" category="visual" version="3">
650
		<number name="integer"/>
651
		<keyword name="auto"/>
652
		<keyword name="inherit"/>
653
	</property-def>
654
	<property-def name="column-fill"
655
		inherited="no" mediagroup="visual" category="visual" version="3">
656
		<keyword name="auto"/>
657
		<keyword name="balance"/>
658
		<keyword name="inherit"/>
659
	</property-def>
660
	<property-def name="column-gap"
661
		inherited="no" mediagroup="visual" category="visual" version="3">
662
		<number name="length"/>
663
		<keyword name="normal"/>
664
		<keyword name="inherit"/>
665
	</property-def>
666
	<property-def name="column-rule"
667
		inherited="no" mediagroup="visual" category="visual" version="3">
668
		<property name="column-rule-width"/>
669
		<property name="column-rule-style"/>
670
		<property name="column-rule-color"/>
671
	</property-def>
672
	<property-def name="column-rule-color"
673
		inherited="no" mediagroup="visual" category="visual" version="3">
674
		<container name="color"/>
675
		<keyword name="inherit"/>
676
	</property-def>
677
	<property-def name="column-rule-style"
678
		inherited="no" mediagroup="visual" category="visual" version="3">
679
		<container name="border-style"/>
680
		<keyword name="inherit"/>
681
	</property-def>
682
	<property-def name="column-rule-width"
683
		inherited="no" mediagroup="visual" category="visual" version="3">
684
		<container name="border-width"/>
685
		<keyword name="inherit"/>
686
	</property-def>
687
	<property-def name="column-span"
688
		inherited="no" mediagroup="visual" category="visual" version="3">
689
		<keyword name="all"/>
690
		<keyword name="1"/>
691
		<keyword name="inherit"/>
692
	</property-def>
693
	<property-def name="content"
694
		inherited="no" mediagroup="all" category="content">
695
		<string name="any"/>
696
		<function name="uri"/>
697
		<function name="counter"/>
698
		<function name="attr"/>
699
		<keyword name="open-quote"/>
700
		<keyword name="close-quote"/>
701
		<keyword name="none"/>
702
		<keyword name="normal"/>
703
		<keyword name="no-open-quote"/>
704
		<keyword name="no-close-quote"/>
705
		<keyword name="inherit"/>
706
	</property-def>
707
	<property-def name="counter-increment"
708
		inherited="no" mediagroup="all" category="content">
709
		<string name="counter-identifier"/>
710
		<number name="integer"/>
711
		<keyword name="none"/>
712
		<keyword name="inherit"/>
713
	</property-def>
714
	<property-def name="counter-reset"
715
		inherited="no" mediagroup="all" category="content">
716
		<string name="counter-identifier"/>
717
		<number name="integer"/>
718
		<keyword name="none"/>
719
		<keyword name="inherit"/>
720
	</property-def>
721
	<property-def name="cue"
722
		inherited="no" mediagroup="aural" category="aural">
723
		<property name="cue-before"/>
724
		<property name="cue-after"/>
725
		<keyword name="inherit"/>
726
	</property-def>
727
	<property-def name="cue-after"
728
		inherited="no" mediagroup="aural" category="aural">
729
		<function name="uri"/>
730
		<keyword name="none"/>
731
		<keyword name="inherit"/>
732
	</property-def>
733
	<property-def name="cue-before"
734
		inherited="no" mediagroup="aural" category="aural">
735
		<function name="uri"/>
736
		<keyword name="none"/>
737
		<keyword name="inherit"/>
738
	</property-def>
739
	<property-def name="cursor"
740
		inherited="yes" mediagroup="visual,interactive" category="ui">
741
		<function name="uri"/>
742
		<keyword name="auto"/>
743
		<keyword name="crosshair"/>
744
		<keyword name="default"/>
745
		<keyword name="pointer"/>
746
		<keyword name="progress"/>
747
		<keyword name="move"/>
748
		<keyword name="e-resize"/>
749
		<keyword name="ne-resize"/>
750
		<keyword name="nw-resize"/>
751
		<keyword name="n-resize"/>
752
		<keyword name="se-resize"/>
753
		<keyword name="sw-resize"/>
754
		<keyword name="s-resize"/>
755
		<keyword name="w-resize"/>
756
		<keyword name="text"/>
757
		<keyword name="wait"/>
758
		<keyword name="help"/>
759
		<keyword name="inherit"/>
760
		<separator name="comma"/>
761
	</property-def>
762
	<property-def name="direction"
763
		inherited="yes" mediagroup="visual" category="visual">
764
		<keyword name="ltr"/>
765
		<keyword name="rtl"/>
766
		<keyword name="inherit"/>
767
	</property-def>
768
	<property-def name="display"
769
		inherited="no" mediagroup="all" category="visual">
770
		<keyword name="inline"/>
771
		<keyword name="inline-block"/>
772
		<keyword name="block"/>
773
		<keyword name="list-item"/>
774
		<keyword name="run-in"/>
775
		<keyword name="compact"/>
776
		<keyword name="marker"/>
777
		<keyword name="table"/>
778
		<keyword name="inline-table"/>
779
		<keyword name="table-row-group"/>
780
		<keyword name="table-header-group"/>
781
		<keyword name="table-footer-group"/>
782
		<keyword name="table-row"/>
783
		<keyword name="table-column-group"/>
784
		<keyword name="table-column"/>
785
		<keyword name="table-cell"/>
786
		<keyword name="table-caption"/>
787
		<keyword name="none"/>
788
		<keyword name="inherit"/>
789
	</property-def>
790
	<property-def name="elevation"
791
		inherited="yes" mediagroup="aural" category="aural">
792
		<number name="angle"/>
793
		<keyword name="below"/>
794
		<keyword name="level"/>
795
		<keyword name="above"/>
796
		<keyword name="higher"/>
797
		<keyword name="lower"/>
798
		<keyword name="inherit"/>
799
	</property-def>
800
	<property-def name="empty-cells"
801
		inherited="yes" mediagroup="visual" category="tables">
802
		<keyword name="show"/>
803
		<keyword name="hide"/>
804
		<keyword name="inherit"/>
805
	</property-def>
806
	<property-def name="float"
807
		inherited="no" mediagroup="visual" category="visual">
808
		<keyword name="left"/>
809
		<keyword name="right"/>
810
		<keyword name="none"/>
811
		<keyword name="inherit"/>
812
	</property-def>
813
	<property-def name="font"
814
		inherited="yes" mediagroup="visual" category="font">
815
		<property name="font-style"/>
816
		<property name="font-variant"/>
817
		<property name="font-weight"/>
818
		<property name="font-size"/>
819
		<property name="line-height"/>
820
		<property name="font-family"/>
821
		<keyword name="caption"/>
822
		<keyword name="icon"/>
823
		<keyword name="menu"/>
824
		<keyword name="message-box"/>
825
		<keyword name="small-caption"/>
826
		<keyword name="status-bar"/>
827
		<keyword name="inherit"/>
828
		<separator name="slash"/>
829
	</property-def>
830
	<property-def name="font-family"
831
		inherited="yes" mediagroup="visual" category="font">
832
		<string name="family-name"/>
833
		<container name="generic-family"/>
834
		<keyword name="inherit"/>
835
		<separator name="comma"/>
836
	</property-def>
837
	<property-def name="font-size"
838
		inherited="yes" mediagroup="visual" category="font">
839
		<container name="absolute-size"/>
840
		<container name="relative-size"/>
841
		<number name="length"/>
842
		<number name="percentage"/>
843
		<keyword name="inherit"/>
844
	</property-def>
845
	<property-def name="font-size-adjust"
846
		inherited="yes" mediagroup="visual" category="font">
847
		<number name="number"/>
848
		<keyword name="none"/>
849
		<keyword name="inherit"/>
850
	</property-def>
851
	<property-def name="font-stretch"
852
		inherited="yes" mediagroup="visual" category="font">
853
		<keyword name="normal"/>
854
		<keyword name="wider"/>
855
		<keyword name="narrower"/>
856
		<keyword name="ultra-condensed"/>
857
		<keyword name="extra-condensed"/>
858
		<keyword name="condensed"/>
859
		<keyword name="semi-condensed"/>
860
		<keyword name="semi-expanded"/>
861
		<keyword name="expanded"/>
862
		<keyword name="extra-expanded"/>
863
		<keyword name="ultra-expanded"/>
864
		<keyword name="inherit"/>
865
	</property-def>
866
	<property-def name="font-style"
867
		inherited="yes" mediagroup="visual" category="font">
868
		<keyword name="normal"/>
869
		<keyword name="italic"/>
870
		<keyword name="oblique"/>
871
		<keyword name="inherit"/>
872
	</property-def>
873
	<property-def name="font-variant"
874
		inherited="yes" mediagroup="visual" category="font">
875
		<keyword name="normal"/>
876
		<keyword name="small-caps"/>
877
		<keyword name="inherit"/>
878
	</property-def>
879
	<property-def name="font-weight"
880
		inherited="yes" mediagroup="visual" category="font">
881
		<keyword name="normal"/>
882
		<keyword name="bold"/>
883
		<keyword name="bolder"/>
884
		<keyword name="lighter"/>
885
		<keyword name="100"/>
886
		<keyword name="200"/>
887
		<keyword name="300"/>
888
		<keyword name="400"/>
889
		<keyword name="500"/>
890
		<keyword name="600"/>
891
		<keyword name="700"/>
892
		<keyword name="800"/>
893
		<keyword name="900"/>
894
		<keyword name="inherit"/>
895
	</property-def>
896
	<property-def name="height"
897
		inherited="no" mediagroup="visual" category="visual">
898
		<number name="length"/>
899
		<number name="percentage"/>
900
		<keyword name="auto"/>
901
		<keyword name="inherit"/>
902
	</property-def>
903
	<property-def name="left"
904
		inherited="no" mediagroup="visual" category="visual">
905
		<number name="length"/>
906
		<number name="percentage"/>
907
		<keyword name="auto"/>
908
		<keyword name="inherit"/>
909
	</property-def>
910
	<property-def name="letter-spacing"
911
		inherited="yes" mediagroup="visual" category="text">
912
		<keyword name="normal"/>
913
		<number name="length"/>
914
		<keyword name="inherit"/>
915
	</property-def>
916
	<property-def name="line-height"
917
		inherited="yes" mediagroup="visual" category="visual">
918
		<keyword name="normal"/>
919
		<number name="number"/>
920
		<number name="length"/>
921
		<number name="percentage"/>
922
		<keyword name="inherit"/>
923
	</property-def>
924
	<property-def name="list-style"
925
		inherited="yes" mediagroup="visual" category="content">
926
		<property name="list-style-type"/>
927
		<property name="list-style-position"/>
928
		<property name="list-style-image"/>
929
		<keyword name="inherit"/>
930
	</property-def>
931
	<property-def name="list-style-image"
932
		inherited="yes" mediagroup="visual" category="content">
933
		<function name="uri"/>
934
		<keyword name="none"/>
935
		<keyword name="inherit"/>
936
	</property-def>
937
	<property-def name="list-style-position"
938
		inherited="yes" mediagroup="visual" category="content">
939
		<keyword name="inside"/>
940
		<keyword name="outside"/>
941
		<keyword name="inherit"/>
942
	</property-def>
943
	<property-def name="list-style-type"
944
		inherited="yes" mediagroup="visual" category="content">
945
		<keyword name="disc"/>
946
		<keyword name="circle"/>
947
		<keyword name="square"/>
948
		<keyword name="decimal"/>
949
		<keyword name="decimal-leading-zero"/>
950
		<keyword name="lower-roman"/>
951
		<keyword name="upper-roman"/>
952
		<keyword name="lower-greek"/>
953
		<keyword name="lower-alpha"/>
954
		<keyword name="lower-latin"/>
955
		<keyword name="upper-alpha"/>
956
		<keyword name="upper-latin"/>
957
		<keyword name="hebrew"/>
958
		<keyword name="armenian"/>
959
		<keyword name="georgian"/>
960
		<keyword name="cjk-ideographic"/>
961
		<keyword name="hiragana"/>
962
		<keyword name="katakana"/>
963
		<keyword name="hiragana-iroha"/>
964
		<keyword name="katakana-iroha"/>
965
		<keyword name="none"/>
966
		<keyword name="inherit"/>
967
	</property-def>
968
	<property-def name="margin"
969
		inherited="no" mediagroup="visual" category="box">
970
		<container name="margin-width"/>
971
		<keyword name="inherit"/>
972
	</property-def>
973
	<property-def name="margin-top"
974
		inherited="no" mediagroup="visual" category="box">
975
		<container name="margin-width"/>
976
		<keyword name="inherit"/>
977
	</property-def>
978
	<property-def name="margin-right"
979
		inherited="no" mediagroup="visual" category="box">
980
		<container name="margin-width"/>
981
		<keyword name="inherit"/>
982
	</property-def>
983
	<property-def name="margin-bottom"
984
		inherited="no" mediagroup="visual" category="box">
985
		<container name="margin-width"/>
986
		<keyword name="inherit"/>
987
	</property-def>
988
	<property-def name="margin-left"
989
		inherited="no" mediagroup="visual" category="box">
990
		<container name="margin-width"/>
991
		<keyword name="inherit"/>
992
	</property-def>
993
	<property-def name="marker-offset"
994
		inherited="no" mediagroup="visual" category="content">
995
		<number name="length"/>
996
		<keyword name="auto"/>
997
		<keyword name="inherit"/>
998
	</property-def>
999
	<property-def name="marks"
1000
		inherited="na" mediagroup="visual,paged" category="page">
1001
		<keyword name="crop"/>
1002
		<keyword name="cross"/>
1003
		<keyword name="none"/>
1004
		<keyword name="inherit"/>
1005
	</property-def>
1006
	<property-def name="max-height"
1007
		inherited="no" mediagroup="visual" category="visual">
1008
		<number name="length"/>
1009
		<number name="percentage"/>
1010
		<keyword name="none"/>
1011
		<keyword name="inherit"/>
1012
	</property-def>
1013
	<property-def name="max-width"
1014
		inherited="no" mediagroup="visual" category="visual">
1015
		<number name="length"/>
1016
		<number name="percentage"/>
1017
		<keyword name="none"/>
1018
		<keyword name="inherit"/>
1019
	</property-def>
1020
	<property-def name="min-height"
1021
		inherited="no" mediagroup="visual" category="visual">
1022
		<number name="length"/>
1023
		<number name="percentage"/>
1024
		<keyword name="none"/>
1025
		<keyword name="inherit"/>
1026
	</property-def>
1027
	<property-def name="min-width"
1028
		inherited="no" mediagroup="visual" category="visual">
1029
		<number name="length"/>
1030
		<number name="percentage"/>
1031
		<keyword name="none"/>
1032
		<keyword name="inherit"/>
1033
	</property-def>
1034
	<property-def name="opacity"
1035
		inherited="yes" mediagroup="visual" category="visual" version="3">
1036
		<number name="number"/>
1037
		<keyword name="inherit"/>
1038
	</property-def>
1039
	<property-def name="orphans"
1040
		inherited="yes" mediagroup="visual,paged" category="page">
1041
		<number name="integer"/>
1042
		<keyword name="inherit"/>
1043
	</property-def>
1044
	<property-def name="outline"
1045
		inherited="no" mediagroup="visual,interactive" category="ui">
1046
		<property name="outline-color"/>
1047
		<property name="outline-style"/>
1048
		<property name="outline-width"/>
1049
		<keyword name="inherit"/>
1050
	</property-def>
1051
	<property-def name="outline-color"
1052
		inherited="no" mediagroup="visual,interactive" category="ui">
1053
		<container name="color"/>
1054
		<keyword name="invert"/>
1055
		<keyword name="inherit"/>
1056
	</property-def>
1057
	<property-def name="outline-style"
1058
		inherited="no" mediagroup="visual,interactive" category="ui">
1059
		<container name="border-style"/>
1060
		<keyword name="inherit"/>
1061
	</property-def>
1062
	<property-def name="outline-width"
1063
		inherited="no" mediagroup="visual,interactive" category="ui">
1064
		<container name="border-width"/>
1065
		<keyword name="inherit"/>
1066
	</property-def>
1067
	<property-def name="overflow"
1068
		inherited="no" mediagroup="visual" category="visual">
1069
		<keyword name="visible"/>
1070
		<keyword name="hidden"/>
1071
		<keyword name="scroll"/>
1072
		<keyword name="auto"/>
1073
		<keyword name="inherit"/>
1074
	</property-def>
1075
	<property-def name="padding"
1076
		inherited="no" mediagroup="visual" category="box">
1077
		<container name="padding-width"/>
1078
		<keyword name="inherit"/>
1079
	</property-def>
1080
	<property-def name="padding-top"
1081
		inherited="no" mediagroup="visual" category="box">
1082
		<container name="padding-width"/>
1083
		<keyword name="inherit"/>
1084
	</property-def>
1085
	<property-def name="padding-right"
1086
		inherited="no" mediagroup="visual" category="box">
1087
		<container name="padding-width"/>
1088
		<keyword name="inherit"/>
1089
	</property-def>
1090
	<property-def name="padding-bottom"
1091
		inherited="no" mediagroup="visual" category="box">
1092
		<container name="padding-width"/>
1093
		<keyword name="inherit"/>
1094
	</property-def>
1095
	<property-def name="padding-left"
1096
		inherited="no" mediagroup="visual" category="box">
1097
		<container name="padding-width"/>
1098
		<keyword name="inherit"/>
1099
	</property-def>
1100
	<property-def name="page"
1101
		inherited="yes" mediagroup="visual,paged" category="page">
1102
		<string name="page-identifier"/>
1103
		<keyword name="auto"/>
1104
	</property-def>
1105
	<property-def name="page-break-after"
1106
		inherited="no" mediagroup="visual,paged" category="page">
1107
		<keyword name="auto"/>
1108
		<keyword name="always"/>
1109
		<keyword name="avoid"/>
1110
		<keyword name="left"/>
1111
		<keyword name="right"/>
1112
		<keyword name="inherit"/>
1113
	</property-def>
1114
	<property-def name="page-break-before"
1115
		inherited="no" mediagroup="visual,paged" category="page">
1116
		<keyword name="auto"/>
1117
		<keyword name="always"/>
1118
		<keyword name="avoid"/>
1119
		<keyword name="left"/>
1120
		<keyword name="right"/>
1121
		<keyword name="inherit"/>
1122
	</property-def>
1123
	<property-def name="page-break-inside"
1124
		inherited="yes" mediagroup="visual,paged" category="page">
1125
		<keyword name="avoid"/>
1126
		<keyword name="auto"/>
1127
		<keyword name="inherit"/>
1128
	</property-def>
1129
	<property-def name="pause"
1130
		inherited="no" mediagroup="aural" category="aural">
1131
		<number name="time"/>
1132
		<number name="percentage"/>
1133
		<keyword name="inherit"/>
1134
	</property-def>
1135
	<property-def name="pause-after"
1136
		inherited="no" mediagroup="aural" category="aural">
1137
		<number name="time"/>
1138
		<number name="percentage"/>
1139
		<keyword name="inherit"/>
1140
	</property-def>
1141
	<property-def name="pause-before"
1142
		inherited="no" mediagroup="aural" category="aural">
1143
		<number name="time"/>
1144
		<number name="percentage"/>
1145
		<keyword name="inherit"/>
1146
	</property-def>
1147
	<property-def name="pitch"
1148
		inherited="yes" mediagroup="aural" category="aural">
1149
		<number name="frequency"/>
1150
		<keyword name="x-low"/>
1151
		<keyword name="low"/>
1152
		<keyword name="medium"/>
1153
		<keyword name="high"/>
1154
		<keyword name="x-high"/>
1155
		<keyword name="inherit"/>
1156
	</property-def>
1157
	<property-def name="pitch-range"
1158
		inherited="yes" mediagroup="aural" category="aural">
1159
		<number name="number"/>
1160
		<keyword name="inherit"/>
1161
	</property-def>
1162
	<property-def name="play-during"
1163
		inherited="no" mediagroup="aural" category="aural">
1164
		<function name="uri"/>
1165
		<keyword name="mix"/>
1166
		<keyword name="repeat"/>
1167
		<keyword name="auto"/>
1168
		<keyword name="none"/>
1169
		<keyword name="inherit"/>
1170
	</property-def>
1171
	<property-def name="position"
1172
		inherited="no" mediagroup="visual" category="visual">
1173
		<keyword name="static"/>
1174
		<keyword name="relative"/>
1175
		<keyword name="absolute"/>
1176
		<keyword name="fixed"/>
1177
		<keyword name="inherit"/>
1178
	</property-def>
1179
	<property-def name="quotes"
1180
		inherited="yes" mediagroup="visual" category="content">
1181
		<string name="any"/>
1182
		<keyword name="none"/>
1183
		<keyword name="inherit"/>
1184
	</property-def>
1185
	<property-def name="resize"
1186
		inherited="yes" mediagroup="visual" category="visual" version="3">
1187
		<keyword name="both"/>
1188
		<keyword name="horizontal"/>
1189
		<keyword name="none"/>
1190
		<keyword name="vertical"/>
1191
		<keyword name="inherit"/>
1192
	</property-def>
1193
	<property-def name="richness"
1194
		inherited="yes" mediagroup="aural" category="aural">
1195
		<number name="number"/>
1196
		<keyword name="inherit"/>
1197
	</property-def>
1198
	<property-def name="right"
1199
		inherited="no" mediagroup="visual" category="visual">
1200
		<number name="length"/>
1201
		<number name="percentage"/>
1202
		<keyword name="auto"/>
1203
		<keyword name="inherit"/>
1204
	</property-def>
1205
	<property-def name="size"
1206
		inherited="na" mediagroup="visual,paged" category="page">
1207
		<number name="length"/>
1208
		<keyword name="auto"/>
1209
		<keyword name="portrait"/>
1210
		<keyword name="landscape"/>
1211
		<keyword name="inherit"/>
1212
	</property-def>
1213
	<property-def name="speak"
1214
		inherited="yes" mediagroup="aural" category="aural">
1215
		<keyword name="normal"/>
1216
		<keyword name="none"/>
1217
		<keyword name="spell-out"/>
1218
		<keyword name="inherit"/>
1219
	</property-def>
1220
	<property-def name="speak-header"
1221
		inherited="yes" mediagroup="aural" category="tables">
1222
		<keyword name="once"/>
1223
		<keyword name="always"/>
1224
		<keyword name="inherit"/>
1225
	</property-def>
1226
	<property-def name="speak-numeral"
1227
		inherited="yes" mediagroup="aural" category="aural">
1228
		<keyword name="digits"/>
1229
		<keyword name="continuous"/>
1230
		<keyword name="inherit"/>
1231
	</property-def>
1232
	<property-def name="speak-punctuation"
1233
		inherited="yes" mediagroup="aural" category="aural">
1234
		<keyword name="code"/>
1235
		<keyword name="none"/>
1236
		<keyword name="inherit"/>
1237
	</property-def>
1238
	<property-def name="speech-rate"
1239
		inherited="yes" mediagroup="aural" category="aural">
1240
		<number name="number"/>
1241
		<keyword name="x-slow"/>
1242
		<keyword name="slow"/>
1243
		<keyword name="medium"/>
1244
		<keyword name="fast"/>
1245
		<keyword name="x-fast"/>
1246
		<keyword name="faster"/>
1247
		<keyword name="slower"/>
1248
		<keyword name="inherit"/>
1249
	</property-def>
1250
	<property-def name="stress"
1251
		inherited="yes" mediagroup="aural" category="aural">
1252
		<number name="number"/>
1253
		<keyword name="inherit"/>
1254
	</property-def>
1255
	<property-def name="table-layout"
1256
		inherited="no" mediagroup="visual" category="tables">
1257
		<keyword name="auto"/>
1258
		<keyword name="fixed"/>
1259
		<keyword name="inherit"/>
1260
	</property-def>
1261
	<property-def name="text-align"
1262
		inherited="yes" mediagroup="visual" category="text">
1263
		<keyword name="left"/>
1264
		<keyword name="right"/>
1265
		<keyword name="center"/>
1266
		<keyword name="justify"/>
1267
		<string name="any"/>
1268
		<keyword name="inherit"/>
1269
	</property-def>
1270
	<property-def name="text-decoration"
1271
		inherited="no" mediagroup="visual" category="text">
1272
		<keyword name="none"/>
1273
		<keyword name="underline"/>
1274
		<keyword name="overline"/>
1275
		<keyword name="line-through"/>
1276
		<keyword name="blink"/>
1277
		<keyword name="inherit"/>
1278
	</property-def>
1279
	<property-def name="text-indent"
1280
		inherited="yes" mediagroup="visual" category="text">
1281
		<number name="length"/>
1282
		<number name="percentage"/>
1283
		<keyword name="inherit"/>
1284
	</property-def>
1285
	<property-def name="text-overflow"
1286
		inherited="no" mediagroup="visual" category="text" version="3">
1287
		<keyword name="clip"/>
1288
		<keyword name="ellipsis"/>
1289
		<keyword name="inherit"/>
1290
	</property-def>
1291
	<property-def name="text-shadow"
1292
		inherited="no" mediagroup="visual" category="text">
1293
		<keyword name="none"/>
1294
		<container name="color"/>
1295
		<number name="length"/>
1296
		<keyword name="inherit"/>
1297
		<separator name="comma"/>
1298
	</property-def>
1299
	<property-def name="text-transform"
1300
		inherited="yes" mediagroup="visual" category="text">
1301
		<keyword name="capitalize"/>
1302
		<keyword name="uppercase"/>
1303
		<keyword name="lowercase"/>
1304
		<keyword name="none"/>
1305
		<keyword name="inherit"/>
1306
	</property-def>
1307
	<property-def name="top"
1308
		inherited="no" mediagroup="visual" category="visual">
1309
		<number name="length"/>
1310
		<number name="percentage"/>
1311
		<keyword name="auto"/>
1312
		<keyword name="inherit"/>
1313
	</property-def>
1314
	<property-def name="unicode-bidi"
1315
		inherited="no" mediagroup="visual" category="visual">
1316
		<keyword name="normal"/>
1317
		<keyword name="embed"/>
1318
		<keyword name="bidi-override"/>
1319
		<keyword name="inherit"/>
1320
	</property-def>
1321
	<property-def name="vertical-align"
1322
		inherited="no" mediagroup="visual" category="visual">
1323
		<keyword name="baseline"/>
1324
		<keyword name="sub"/>
1325
		<keyword name="super"/>
1326
		<keyword name="top"/>
1327
		<keyword name="text-top"/>
1328
		<keyword name="middle"/>
1329
		<keyword name="bottom"/>
1330
		<keyword name="text-bottom"/>
1331
		<number name="percentage"/>
1332
		<number name="length"/>
1333
		<keyword name="inherit"/>
1334
	</property-def>
1335
	<property-def name="visibility"
1336
		inherited="no" mediagroup="visual" category="visual">
1337
		<keyword name="visible"/>
1338
		<keyword name="hidden"/>
1339
		<keyword name="collapse"/>
1340
		<keyword name="inherit"/>
1341
	</property-def>
1342
	<property-def name="voice-family"
1343
		inherited="yes" mediagroup="aural" category="aural">
1344
		<string name="specific-voice"/>
1345
		<container name="generic-voice"/>
1346
		<keyword name="inherit"/>
1347
	</property-def>
1348
	<property-def name="volume"
1349
		inherited="yes" mediagroup="aural" category="aural">
1350
		<number name="number"/>
1351
		<number name="percentage"/>
1352
		<keyword name="silent"/>
1353
		<keyword name="x-soft"/>
1354
		<keyword name="soft"/>
1355
		<keyword name="medium"/>
1356
		<keyword name="loud"/>
1357
		<keyword name="x-loud"/>
1358
		<keyword name="inherit"/>
1359
	</property-def>
1360
	<property-def name="white-space"
1361
		inherited="yes" mediagroup="visual" category="text">
1362
		<keyword name="normal"/>
1363
		<keyword name="pre"/>
1364
		<keyword name="pre-line"/>
1365
		<keyword name="pre-wrap"/>
1366
		<keyword name="nowrap"/>
1367
		<keyword name="inherit"/>
1368
	</property-def>
1369
	<property-def name="widows"
1370
		inherited="yes" mediagroup="visual,paged" category="page">
1371
		<number name="integer"/>
1372
		<keyword name="inherit"/>
1373
	</property-def>
1374
	<property-def name="width"
1375
		inherited="no" mediagroup="visual" category="visual">
1376
		<number name="length"/>
1377
		<number name="percentage"/>
1378
		<keyword name="auto"/>
1379
		<keyword name="inherit"/>
1380
	</property-def>
1381
	<property-def name="word-spacing"
1382
		inherited="yes" mediagroup="visual" category="text">
1383
		<keyword name="normal"/>
1384
		<number name="length"/>
1385
		<keyword name="inherit"/>
1386
	</property-def>
1387
	<property-def name="z-index"
1388
		inherited="no" mediagroup="visual" category="visual">
1389
		<keyword name="auto"/>
1390
		<number name="integer"/>
1391
		<keyword name="inherit"/>
1392
	</property-def>
1393
1394
	<!-- descriptor definition : These are for @font-face -->
1395
1396
	<descriptor-def name="ascent">
1397
		<number name="number"/>
1398
	</descriptor-def>
1399
	<descriptor-def name="baseline">
1400
		<number name="number"/>
1401
	</descriptor-def>
1402
	<descriptor-def name="bbox">
1403
		<number name="number"/>
1404
		<separator name="comma"/>
1405
	</descriptor-def>
1406
	<descriptor-def name="cap-height">
1407
		<number name="number"/>
1408
	</descriptor-def>
1409
	<descriptor-def name="centerline">
1410
		<number name="number"/>
1411
	</descriptor-def>
1412
	<descriptor-def name="definition-src">
1413
		<function name="uri"/>
1414
	</descriptor-def>
1415
	<descriptor-def name="descent">
1416
		<number name="number"/>
1417
	</descriptor-def>
1418
	<descriptor-def name="font-family">
1419
		<string name="family-name"/>
1420
		<container name="generic-family"/>
1421
		<separator name="comma"/>
1422
	</descriptor-def>
1423
	<descriptor-def name="font-size">
1424
		<keyword name="all"/>
1425
		<number name="length"/>
1426
		<separator name="comma"/>
1427
	</descriptor-def>
1428
	<descriptor-def name="font-stretch">
1429
		<keyword name="all"/>
1430
		<keyword name="normal"/>
1431
		<keyword name="ultra-condensed"/>
1432
		<keyword name="extra-condensed"/>
1433
		<keyword name="condensed"/>
1434
		<keyword name="semi-condensed"/>
1435
		<keyword name="semi-expanded"/>
1436
		<keyword name="expanded"/>
1437
		<keyword name="extra-expanded"/>
1438
		<keyword name="ultra-expanded"/>
1439
		<separator name="comma"/>
1440
	</descriptor-def>
1441
	<descriptor-def name="font-style">
1442
		<keyword name="all"/>
1443
		<keyword name="normal"/>
1444
		<keyword name="italic"/>
1445
		<keyword name="oblique"/>
1446
		<separator name="comma"/>
1447
	</descriptor-def>
1448
	<descriptor-def name="font-variant">
1449
		<keyword name="normal"/>
1450
		<keyword name="small-caps"/>
1451
		<separator name="comma"/>
1452
	</descriptor-def>
1453
	<descriptor-def name="font-weight">
1454
		<keyword name="all"/>
1455
		<keyword name="normal"/>
1456
		<keyword name="bold"/>
1457
		<keyword name="100"/>
1458
		<keyword name="200"/>
1459
		<keyword name="300"/>
1460
		<keyword name="400"/>
1461
		<keyword name="500"/>
1462
		<keyword name="600"/>
1463
		<keyword name="700"/>
1464
		<keyword name="800"/>
1465
		<keyword name="900"/>
1466
		<separator name="comma"/>
1467
	</descriptor-def>
1468
	<descriptor-def name="mathline">
1469
		<number name="number"/>
1470
	</descriptor-def>
1471
	<descriptor-def name="panose-1">
1472
		<number name="integer"/>
1473
	</descriptor-def>
1474
	<descriptor-def name="slope">
1475
		<number name="number"/>
1476
	</descriptor-def>
1477
	<descriptor-def name="src">
1478
		<function name="uri"/>
1479
		<function name="format"/>
1480
		<container name="font-face-name"/>
1481
	</descriptor-def>
1482
	<descriptor-def name="stemh">
1483
		<number name="number"/>
1484
	</descriptor-def>
1485
	<descriptor-def name="stemv">
1486
		<number name="number"/>
1487
	</descriptor-def>
1488
	<descriptor-def name="topline">
1489
		<number name="number"/>
1490
	</descriptor-def>
1491
	<descriptor-def name="unicode-range">
1492
		<string name="urange"/>
1493
	</descriptor-def>
1494
	<descriptor-def name="units-per-em">
1495
		<number name="number"/>
1496
	</descriptor-def>
1497
	<descriptor-def name="widths">
1498
		<string name="urange"/>
1499
		<number name="length"/>
1500
	</descriptor-def>
1501
	<descriptor-def name="x-height">
1502
		<number name="number"/>
1503
	</descriptor-def>
1504
1505
	<!-- container definition : Container is the lump of values.
1506
	It can be used like macros. -->
1507
    <container-def name="absolute-size">
1508
        <keyword name="xx-small"/>
1509
        <keyword name="x-small"/>
1510
        <keyword name="small"/>
1511
        <keyword name="medium"/>
1512
        <keyword name="large"/>
1513
        <keyword name="x-large"/>
1514
        <keyword name="xx-large"/>
1515
    </container-def>
1516
    <container-def name="border-style">
1517
        <keyword name="none"/>
1518
        <keyword name="hidden"/>
1519
        <keyword name="dotted"/>
1520
        <keyword name="dashed"/>
1521
        <keyword name="solid"/>
1522
        <keyword name="double"/>
1523
        <keyword name="groove"/>
1524
        <keyword name="ridge"/>
1525
        <keyword name="inset"/>
1526
        <keyword name="outset"/>
1527
    </container-def>
1528
    <container-def name="border-width">
1529
        <keyword name="thin"/>
1530
        <keyword name="medium"/>
1531
        <keyword name="thick"/>
1532
        <number name="length"/>
1533
    </container-def>
1534
	<container-def name="color">
1535
		<keyword name="aqua"/>
1536
		<keyword name="black"/>
1537
		<keyword name="blue"/>
1538
		<keyword name="fuchsia"/>
1539
		<keyword name="gray"/>
1540
		<keyword name="green"/>
1541
		<keyword name="lime"/>
1542
		<keyword name="maroon"/>
1543
		<keyword name="navy"/>
1544
		<keyword name="olive"/>
1545
		<keyword name="orange"/>
1546
		<keyword name="purple"/>
1547
		<keyword name="red"/>
1548
		<keyword name="silver"/>
1549
		<keyword name="teal"/>
1550
		<keyword name="white"/>
1551
		<keyword name="yellow"/>
1552
		<container name="system-color"/>
1553
		<function name="rgb"/>
1554
		<function name="rgba"/>
1555
		<number name="hash"/>
1556
	</container-def>
1557
	<container-def name="generic-family">
1558
		<keyword name="serif"/>
1559
		<keyword name="sans-serif"/>
1560
		<keyword name="cursive"/>
1561
		<keyword name="fantasy"/>
1562
		<keyword name="monospace"/>
1563
	</container-def>
1564
	<container-def name="font-face-name">
1565
		<function name="local"/>
1566
	</container-def>
1567
	<container-def name="generic-voice">
1568
		<keyword name="male"/>
1569
		<keyword name="female"/>
1570
		<keyword name="child"/>
1571
	</container-def>
1572
	<container-def name="margin-width">
1573
		<number name="length"/>
1574
		<number name="percentage"/>
1575
		<keyword name="auto"/>
1576
	</container-def>
1577
	<container-def name="padding-width">
1578
		<number name="length"/>
1579
		<number name="percentage"/>
1580
	</container-def>
1581
	<container-def name="relative-size">
1582
		<keyword name="smaller"/>
1583
		<keyword name="larger"/>
1584
	</container-def>
1585
	<container-def name="shape">
1586
		<function name="rect"/>
1587
	</container-def>
1588
	<container-def name="system-color">
1589
		<keyword name="ActiveBorder"/>
1590
		<keyword name="ActiveCaption"/>
1591
		<keyword name="AppWorkspace"/>
1592
		<keyword name="Background"/>
1593
		<keyword name="ButtonFace"/>
1594
		<keyword name="ButtonHighlight"/>
1595
		<keyword name="ButtonShadow"/>
1596
		<keyword name="ButtonText"/>
1597
		<keyword name="CaptionText"/>
1598
		<keyword name="GrayText"/>
1599
		<keyword name="Highlight"/>
1600
		<keyword name="HighlightText"/>
1601
		<keyword name="InactiveBorder"/>
1602
		<keyword name="InactiveCaption"/>
1603
		<keyword name="InactiveCaptionText"/>
1604
		<keyword name="InfoBackground"/>
1605
		<keyword name="InfoText"/>
1606
		<keyword name="Menu"/>
1607
		<keyword name="MenuText"/>
1608
		<keyword name="Scrollbar"/>
1609
		<keyword name="ThreeDDarkShadow"/>
1610
		<keyword name="ThreeDFace"/>
1611
		<keyword name="ThreeDHighlight"/>
1612
		<keyword name="ThreeDLightShadow"/>
1613
		<keyword name="ThreeDShadow"/>
1614
		<keyword name="Window"/>
1615
		<keyword name="WindowFrame"/>
1616
		<keyword name="WindowText"/>
1617
	</container-def>
1618
1619
	<!-- category definition : This is used to categorize properties
1620
	in Properties View. -->
1621
	<category-def name="aural">
1622
		<caption>%css2.category-def.aural.caption</caption>
1623
	</category-def>
1624
	<category-def name="box">
1625
		<caption>%css2.category-def.box.caption</caption>
1626
	</category-def>
1627
	<category-def name="colorandbackground">
1628
		<caption>%css2.category-def.colorandbackground.caption</caption>
1629
	</category-def>
1630
	<category-def name="content">
1631
		<caption>%css2.category-def.content.caption</caption>
1632
	</category-def>
1633
	<category-def name="font">
1634
		<caption>%css2.category-def.font.caption</caption>
1635
	</category-def>
1636
	<category-def name="page">
1637
		<caption>%css2.category-def.page.caption</caption>
1638
	</category-def>
1639
	<category-def name="tables">
1640
		<caption>%css2.category-def.tables.caption</caption>
1641
	</category-def>
1642
	<category-def name="text">
1643
		<caption>%css2.category-def.text.caption</caption>
1644
	</category-def>
1645
	<category-def name="ui">
1646
		<caption>%css2.category-def.ui.caption</caption>
1647
	</category-def>
1648
	<category-def name="visual">
1649
<!--		<caption>%css2.category-def.visual.caption</caption>-->
1650
		<caption>%css2.category-def.visual.caption</caption>
1651
	</category-def>
1652
	
1653
	<!-- function definition -->
1654
	<function-def name="attr">
1655
		<function-value>attr</function-value>
1656
	</function-def>
1657
	<function-def name="counter">
1658
		<function-value>counter</function-value>
1659
	</function-def>
1660
	<function-def name="rect">
1661
		<function-value>rect</function-value>
1662
	</function-def>
1663
	<function-def name="rgb">
1664
		<function-value>rgb</function-value>
1665
	</function-def>
1666
	<function-def name="rgba" version="3">
1667
		<function-value>rgba</function-value>
1668
	</function-def>
1669
	<function-def name="uri">
1670
		<function-value>url</function-value>
1671
	</function-def>
1672
	<function-def name="format">
1673
		<function-value>format</function-value>
1674
	</function-def>
1675
	<function-def name="local">
1676
		<function-value>local</function-value>
1677
	</function-def>
1678
1679
	<!-- number definition : What unit types be acceptable for each
1680
	number type? -->
1681
    <number-def name="angle">
1682
        <unit name="deg"/>
1683
        <unit name="grad"/>
1684
        <unit name="rad"/>
1685
    </number-def>
1686
    <number-def name="frequency">
1687
        <unit name="hz"/>
1688
        <unit name="khz"/>
1689
    </number-def>
1690
    <number-def name="hash">
1691
        <unit name="hash"/>
1692
    </number-def>
1693
	<number-def name="integer">
1694
	</number-def>
1695
    <number-def name="length">
1696
        <unit name="em"/>
1697
        <unit name="ex"/>
1698
        <unit name="px"/>
1699
        <unit name="in"/>
1700
        <unit name="cm"/>
1701
        <unit name="mm"/>
1702
        <unit name="pt"/>
1703
        <unit name="pc"/>
1704
    </number-def>
1705
	<number-def name="number">
1706
	</number-def>
1707
	<number-def name="percentage">
1708
		<unit name="percentage"/>
1709
	</number-def>
1710
	<number-def name="time">
1711
		<unit name="ms"/>
1712
		<unit name="s"/>
1713
	</number-def>
1714
1715
	<unit-def name="cm">
1716
		<unit-value>cm</unit-value>
1717
	</unit-def>
1718
	<unit-def name="deg">
1719
		<unit-value>deg</unit-value>
1720
	</unit-def>
1721
	<unit-def name="em">
1722
		<unit-value>em</unit-value>
1723
	</unit-def>
1724
	<unit-def name="ex">
1725
		<unit-value>ex</unit-value>
1726
	</unit-def>
1727
	<unit-def name="grad">
1728
		<unit-value>grad</unit-value>
1729
	</unit-def>
1730
	<unit-def name="hash">
1731
		<unit-value>#</unit-value>
1732
	</unit-def>
1733
	<unit-def name="hz">
1734
		<unit-value>Hz</unit-value>
1735
	</unit-def>
1736
	<unit-def name="in">
1737
		<unit-value>in</unit-value>
1738
	</unit-def>
1739
	<unit-def name="khz">
1740
		<unit-value>kHz</unit-value>
1741
	</unit-def>
1742
	<unit-def name="mm">
1743
		<unit-value>mm</unit-value>
1744
	</unit-def>
1745
	<unit-def name="ms">
1746
		<unit-value>ms</unit-value>
1747
	</unit-def>
1748
	<unit-def name="pc">
1749
		<unit-value>pc</unit-value>
1750
	</unit-def>
1751
	<unit-def name="percentage">
1752
		<unit-value>%</unit-value>
1753
	</unit-def>
1754
	<unit-def name="pt">
1755
		<unit-value>pt</unit-value>
1756
	</unit-def>
1757
	<unit-def name="px">
1758
		<unit-value>px</unit-value>
1759
	</unit-def>
1760
	<unit-def name="rad">
1761
		<unit-value>rad</unit-value>
1762
	</unit-def>
1763
	<unit-def name="s">
1764
		<unit-value>s</unit-value>
1765
	</unit-def>
1766
1767
    <!-- keywords : string constants (this is last part..) -->
1768
    <keyword-def name="1" version="3">
1769
        <keyword-value>1</keyword-value>
1770
    </keyword-def>
1771
    <keyword-def name="100">
1772
        <keyword-value>100</keyword-value>
1773
    </keyword-def>
1774
    <keyword-def name="200">
1775
        <keyword-value>200</keyword-value>
1776
    </keyword-def>
1777
    <keyword-def name="300">
1778
        <keyword-value>300</keyword-value>
1779
    </keyword-def>
1780
    <keyword-def name="400">
1781
        <keyword-value>400</keyword-value>
1782
    </keyword-def>
1783
    <keyword-def name="500">
1784
        <keyword-value>500</keyword-value>
1785
    </keyword-def>
1786
    <keyword-def name="600">
1787
        <keyword-value>600</keyword-value>
1788
    </keyword-def>
1789
    <keyword-def name="700">
1790
        <keyword-value>700</keyword-value>
1791
    </keyword-def>
1792
    <keyword-def name="800">
1793
        <keyword-value>800</keyword-value>
1794
    </keyword-def>
1795
    <keyword-def name="900">
1796
        <keyword-value>900</keyword-value>
1797
    </keyword-def>
1798
    <keyword-def name="above">
1799
        <keyword-value>above</keyword-value>
1800
    </keyword-def>
1801
    <keyword-def name="absolute">
1802
        <keyword-value>absolute</keyword-value>
1803
    </keyword-def>
1804
    <keyword-def name="ActiveBorder">
1805
        <keyword-value>ActiveBorder</keyword-value>
1806
    </keyword-def>
1807
    <keyword-def name="ActiveCaption">
1808
        <keyword-value>ActiveCaption</keyword-value>
1809
    </keyword-def>
1810
    <keyword-def name="all">
1811
        <keyword-value>all</keyword-value>
1812
    </keyword-def>
1813
    <keyword-def name="always">
1814
        <keyword-value>always</keyword-value>
1815
    </keyword-def>
1816
    <keyword-def name="AppWorkspace">
1817
        <keyword-value>AppWorkspace</keyword-value>
1818
    </keyword-def>
1819
    <keyword-def name="aqua">
1820
        <keyword-value>aqua</keyword-value>
1821
    </keyword-def>
1822
    <keyword-def name="armenian">
1823
        <keyword-value>armenian</keyword-value>
1824
    </keyword-def>
1825
    <keyword-def name="auto">
1826
        <keyword-value>auto</keyword-value>
1827
    </keyword-def>
1828
    <keyword-def name="avoid">
1829
        <keyword-value>avoid</keyword-value>
1830
    </keyword-def>
1831
    <keyword-def name="balance" version="3">
1832
        <keyword-value>balance</keyword-value>
1833
    </keyword-def>
1834
    <keyword-def name="Background">
1835
        <keyword-value>Background</keyword-value>
1836
    </keyword-def>
1837
    <keyword-def name="baseline">
1838
        <keyword-value>baseline</keyword-value>
1839
    </keyword-def>
1840
    <keyword-def name="behind">
1841
        <keyword-value>behind</keyword-value>
1842
    </keyword-def>
1843
    <keyword-def name="below">
1844
        <keyword-value>below</keyword-value>
1845
    </keyword-def>
1846
    <keyword-def name="bidi-override">
1847
        <keyword-value>bidi-override</keyword-value>
1848
    </keyword-def>
1849
    <keyword-def name="black">
1850
        <keyword-value>black</keyword-value>
1851
    </keyword-def>
1852
    <keyword-def name="blink">
1853
        <keyword-value>blink</keyword-value>
1854
    </keyword-def>
1855
    <keyword-def name="block">
1856
        <keyword-value>block</keyword-value>
1857
    </keyword-def>
1858
    <keyword-def name="blue">
1859
        <keyword-value>blue</keyword-value>
1860
    </keyword-def>
1861
    <keyword-def name="bold">
1862
        <keyword-value>bold</keyword-value>
1863
    </keyword-def>
1864
    <keyword-def name="bolder">
1865
        <keyword-value>bolder</keyword-value>
1866
    </keyword-def>
1867
    <keyword-def name="border-box" version="3">
1868
    	<keyword-value>border-box</keyword-value>
1869
    </keyword-def>
1870
    <keyword-def name="both">
1871
        <keyword-value>both</keyword-value>
1872
    </keyword-def>
1873
    <keyword-def name="bottom">
1874
        <keyword-value>bottom</keyword-value>
1875
    </keyword-def>
1876
    <keyword-def name="ButtonFace">
1877
        <keyword-value>ButtonFace</keyword-value>
1878
    </keyword-def>
1879
    <keyword-def name="ButtonHighlight">
1880
        <keyword-value>ButtonHighlight</keyword-value>
1881
    </keyword-def>
1882
    <keyword-def name="ButtonShadow">
1883
        <keyword-value>ButtonShadow</keyword-value>
1884
    </keyword-def>
1885
    <keyword-def name="ButtonText">
1886
        <keyword-value>ButtonText</keyword-value>
1887
    </keyword-def>
1888
    <keyword-def name="capitalize">
1889
        <keyword-value>capitalize</keyword-value>
1890
    </keyword-def>
1891
    <keyword-def name="caption">
1892
        <keyword-value>caption</keyword-value>
1893
    </keyword-def>
1894
    <keyword-def name="CaptionText">
1895
        <keyword-value>CaptionText</keyword-value>
1896
    </keyword-def>
1897
    <keyword-def name="center">
1898
        <keyword-value>center</keyword-value>
1899
    </keyword-def>
1900
    <keyword-def name="center-left">
1901
        <keyword-value>center-left</keyword-value>
1902
    </keyword-def>
1903
    <keyword-def name="center-right">
1904
        <keyword-value>center-right</keyword-value>
1905
    </keyword-def>
1906
    <keyword-def name="child">
1907
        <keyword-value>child</keyword-value>
1908
    </keyword-def>
1909
    <keyword-def name="circle">
1910
        <keyword-value>circle</keyword-value>
1911
    </keyword-def>
1912
    <keyword-def name="cjk-ideographic">
1913
        <keyword-value>cjk-ideographic</keyword-value>
1914
    </keyword-def>
1915
    <keyword-def name="clip" version="3">
1916
    	<keyword-value>clip</keyword-value>
1917
    </keyword-def>
1918
    <keyword-def name="close-quote">
1919
        <keyword-value>close-quote</keyword-value>
1920
    </keyword-def>
1921
    <keyword-def name="code">
1922
        <keyword-value>code</keyword-value>
1923
    </keyword-def>
1924
    <keyword-def name="collapse">
1925
        <keyword-value>collapse</keyword-value>
1926
    </keyword-def>
1927
    <keyword-def name="compact">
1928
        <keyword-value>compact</keyword-value>
1929
    </keyword-def>
1930
    <keyword-def name="condensed">
1931
        <keyword-value>condensed</keyword-value>
1932
    </keyword-def>
1933
    <keyword-def name="contain" version="3">
1934
    	<keyword-value>contain</keyword-value>
1935
    </keyword-def>
1936
    <keyword-def name="content-box" version="3">
1937
    	<keyword-value>content-box</keyword-value>
1938
    </keyword-def>
1939
    <keyword-def name="continuous">
1940
        <keyword-value>continuous</keyword-value>
1941
    </keyword-def>
1942
    <keyword-def name="cover" version="3">
1943
    	<keyword-value>cover</keyword-value>
1944
    </keyword-def>
1945
    <keyword-def name="crop">
1946
        <keyword-value>crop</keyword-value>
1947
    </keyword-def>
1948
    <keyword-def name="cross">
1949
        <keyword-value>cross</keyword-value>
1950
    </keyword-def>
1951
    <keyword-def name="crosshair">
1952
        <keyword-value>crosshair</keyword-value>
1953
    </keyword-def>
1954
    <keyword-def name="cursive">
1955
        <keyword-value>cursive</keyword-value>
1956
    </keyword-def>
1957
    <keyword-def name="dashed">
1958
        <keyword-value>dashed</keyword-value>
1959
    </keyword-def>
1960
    <keyword-def name="decimal">
1961
        <keyword-value>decimal</keyword-value>
1962
    </keyword-def>
1963
    <keyword-def name="decimal-leading-zero">
1964
        <keyword-value>decimal-leading-zero</keyword-value>
1965
    </keyword-def>
1966
    <keyword-def name="default">
1967
        <keyword-value>default</keyword-value>
1968
    </keyword-def>
1969
    <keyword-def name="digits">
1970
        <keyword-value>digits</keyword-value>
1971
    </keyword-def>
1972
    <keyword-def name="disc">
1973
        <keyword-value>disc</keyword-value>
1974
    </keyword-def>
1975
    <keyword-def name="dotted">
1976
        <keyword-value>dotted</keyword-value>
1977
    </keyword-def>
1978
    <keyword-def name="double">
1979
        <keyword-value>double</keyword-value>
1980
    </keyword-def>
1981
    <keyword-def name="e-resize">
1982
        <keyword-value>e-resize</keyword-value>
1983
    </keyword-def>
1984
    <keyword-def name="ellipsis" version="3">
1985
    	<keyword-value>ellipsis</keyword-value>
1986
    </keyword-def>
1987
    <keyword-def name="embed">
1988
        <keyword-value>embed</keyword-value>
1989
    </keyword-def>
1990
    <keyword-def name="expanded">
1991
        <keyword-value>expanded</keyword-value>
1992
    </keyword-def>
1993
    <keyword-def name="extra-condensed">
1994
        <keyword-value>extra-condensed</keyword-value>
1995
    </keyword-def>
1996
    <keyword-def name="extra-expanded">
1997
        <keyword-value>extra-expanded</keyword-value>
1998
    </keyword-def>
1999
    <keyword-def name="fantasy">
2000
        <keyword-value>fantasy</keyword-value>
2001
    </keyword-def>
2002
    <keyword-def name="far-left">
2003
        <keyword-value>far-left</keyword-value>
2004
    </keyword-def>
2005
    <keyword-def name="far-right">
2006
        <keyword-value>far-right</keyword-value>
2007
    </keyword-def>
2008
    <keyword-def name="fast">
2009
        <keyword-value>fast</keyword-value>
2010
    </keyword-def>
2011
    <keyword-def name="faster">
2012
        <keyword-value>faster</keyword-value>
2013
    </keyword-def>
2014
    <keyword-def name="female">
2015
        <keyword-value>female</keyword-value>
2016
    </keyword-def>
2017
    <keyword-def name="fixed">
2018
        <keyword-value>fixed</keyword-value>
2019
    </keyword-def>
2020
    <keyword-def name="fuchsia">
2021
        <keyword-value>fuchsia</keyword-value>
2022
    </keyword-def>
2023
    <keyword-def name="georgian">
2024
        <keyword-value>georgian</keyword-value>
2025
    </keyword-def>
2026
    <keyword-def name="gray">
2027
        <keyword-value>gray</keyword-value>
2028
    </keyword-def>
2029
    <keyword-def name="GrayText">
2030
        <keyword-value>GrayText</keyword-value>
2031
    </keyword-def>
2032
    <keyword-def name="green">
2033
        <keyword-value>green</keyword-value>
2034
    </keyword-def>
2035
    <keyword-def name="groove">
2036
        <keyword-value>groove</keyword-value>
2037
    </keyword-def>
2038
    <keyword-def name="hebrew">
2039
        <keyword-value>hebrew</keyword-value>
2040
    </keyword-def>
2041
    <keyword-def name="help">
2042
        <keyword-value>help</keyword-value>
2043
    </keyword-def>
2044
    <keyword-def name="hidden">
2045
        <keyword-value>hidden</keyword-value>
2046
    </keyword-def>
2047
    <keyword-def name="hide">
2048
        <keyword-value>hide</keyword-value>
2049
    </keyword-def>
2050
    <keyword-def name="high">
2051
        <keyword-value>high</keyword-value>
2052
    </keyword-def>
2053
    <keyword-def name="Highlight">
2054
        <keyword-value>Highlight</keyword-value>
2055
    </keyword-def>
2056
    <keyword-def name="HighlightText">
2057
        <keyword-value>HighlightText</keyword-value>
2058
    </keyword-def>
2059
    <keyword-def name="higher">
2060
        <keyword-value>higher</keyword-value>
2061
    </keyword-def>
2062
    <keyword-def name="hiragana">
2063
        <keyword-value>hiragana</keyword-value>
2064
    </keyword-def>
2065
    <keyword-def name="hiragana-iroha">
2066
        <keyword-value>hiragana-iroha</keyword-value>
2067
    </keyword-def>
2068
    <keyword-def name="horizontal" version="3">
2069
    	<keyword-value>horizontal</keyword-value>
2070
    </keyword-def>
2071
    <keyword-def name="icon">
2072
        <keyword-value>icon</keyword-value>
2073
    </keyword-def>
2074
    <keyword-def name="InactiveBorder">
2075
        <keyword-value>InactiveBorder</keyword-value>
2076
    </keyword-def>
2077
    <keyword-def name="InactiveCaption">
2078
        <keyword-value>InactiveCaption</keyword-value>
2079
    </keyword-def>
2080
    <keyword-def name="InactiveCaptionText">
2081
        <keyword-value>InactiveCaptionText</keyword-value>
2082
    </keyword-def>
2083
    <keyword-def name="InfoBackground">
2084
        <keyword-value>InfoBackground</keyword-value>
2085
    </keyword-def>
2086
    <keyword-def name="InfoText">
2087
        <keyword-value>InfoText</keyword-value>
2088
    </keyword-def>
2089
    <keyword-def name="inherit">
2090
        <keyword-value>inherit</keyword-value>
2091
    </keyword-def>
2092
    <keyword-def name="inline">
2093
        <keyword-value>inline</keyword-value>
2094
    </keyword-def>
2095
    <keyword-def name="inline-block">
2096
        <keyword-value>inline-block</keyword-value>
2097
    </keyword-def>
2098
    <keyword-def name="inline-table">
2099
        <keyword-value>inline-table</keyword-value>
2100
    </keyword-def>
2101
    <keyword-def name="inset">
2102
        <keyword-value>inset</keyword-value>
2103
    </keyword-def>
2104
    <keyword-def name="inside">
2105
        <keyword-value>inside</keyword-value>
2106
    </keyword-def>
2107
    <keyword-def name="invert">
2108
        <keyword-value>invert</keyword-value>
2109
    </keyword-def>
2110
    <keyword-def name="italic">
2111
        <keyword-value>italic</keyword-value>
2112
    </keyword-def>
2113
    <keyword-def name="justify">
2114
        <keyword-value>justify</keyword-value>
2115
    </keyword-def>
2116
    <keyword-def name="katakana">
2117
        <keyword-value>katakana</keyword-value>
2118
    </keyword-def>
2119
    <keyword-def name="katakana-iroha">
2120
        <keyword-value>katakana-iroha</keyword-value>
2121
    </keyword-def>
2122
    <keyword-def name="landscape">
2123
        <keyword-value>landscape</keyword-value>
2124
    </keyword-def>
2125
    <keyword-def name="large">
2126
        <keyword-value>large</keyword-value>
2127
    </keyword-def>
2128
    <keyword-def name="larger">
2129
        <keyword-value>larger</keyword-value>
2130
    </keyword-def>
2131
    <keyword-def name="left">
2132
        <keyword-value>left</keyword-value>
2133
    </keyword-def>
2134
    <keyword-def name="left-side">
2135
        <keyword-value>left-side</keyword-value>
2136
    </keyword-def>
2137
    <keyword-def name="leftwards">
2138
        <keyword-value>leftwards</keyword-value>
2139
    </keyword-def>
2140
    <keyword-def name="level">
2141
        <keyword-value>level</keyword-value>
2142
    </keyword-def>
2143
    <keyword-def name="lighter">
2144
        <keyword-value>lighter</keyword-value>
2145
    </keyword-def>
2146
    <keyword-def name="lime">
2147
        <keyword-value>lime</keyword-value>
2148
    </keyword-def>
2149
    <keyword-def name="line-through">
2150
        <keyword-value>line-through</keyword-value>
2151
    </keyword-def>
2152
    <keyword-def name="list-item">
2153
        <keyword-value>list-item</keyword-value>
2154
    </keyword-def>
2155
    <keyword-def name="local" version="3">
2156
        <keyword-value>local</keyword-value>
2157
    </keyword-def>
2158
    <keyword-def name="loud">
2159
        <keyword-value>loud</keyword-value>
2160
    </keyword-def>
2161
    <keyword-def name="low">
2162
        <keyword-value>low</keyword-value>
2163
    </keyword-def>
2164
    <keyword-def name="lower">
2165
        <keyword-value>lower</keyword-value>
2166
    </keyword-def>
2167
    <keyword-def name="lower-alpha">
2168
        <keyword-value>lower-alpha</keyword-value>
2169
    </keyword-def>
2170
    <keyword-def name="lower-greek">
2171
        <keyword-value>lower-greek</keyword-value>
2172
    </keyword-def>
2173
    <keyword-def name="lower-latin">
2174
        <keyword-value>lower-latin</keyword-value>
2175
    </keyword-def>
2176
    <keyword-def name="lower-roman">
2177
        <keyword-value>lower-roman</keyword-value>
2178
    </keyword-def>
2179
    <keyword-def name="lowercase">
2180
        <keyword-value>lowercase</keyword-value>
2181
    </keyword-def>
2182
    <keyword-def name="ltr">
2183
        <keyword-value>ltr</keyword-value>
2184
    </keyword-def>
2185
    <keyword-def name="male">
2186
        <keyword-value>male</keyword-value>
2187
    </keyword-def>
2188
    <keyword-def name="marker">
2189
        <keyword-value>marker</keyword-value>
2190
    </keyword-def>
2191
    <keyword-def name="maroon">
2192
        <keyword-value>maroon</keyword-value>
2193
    </keyword-def>
2194
    <keyword-def name="medium">
2195
        <keyword-value>medium</keyword-value>
2196
    </keyword-def>
2197
    <keyword-def name="Menu">
2198
        <keyword-value>Menu</keyword-value>
2199
    </keyword-def>
2200
    <keyword-def name="MenuText">
2201
        <keyword-value>MenuText</keyword-value>
2202
    </keyword-def>
2203
    <keyword-def name="message-box">
2204
        <keyword-value>message-box</keyword-value>
2205
    </keyword-def>
2206
    <keyword-def name="middle">
2207
        <keyword-value>middle</keyword-value>
2208
    </keyword-def>
2209
    <keyword-def name="mix">
2210
        <keyword-value>mix</keyword-value>
2211
    </keyword-def>
2212
    <keyword-def name="monospace">
2213
        <keyword-value>monospace</keyword-value>
2214
    </keyword-def>
2215
    <keyword-def name="move">
2216
        <keyword-value>move</keyword-value>
2217
    </keyword-def>
2218
    <keyword-def name="n-resize">
2219
        <keyword-value>n-resize</keyword-value>
2220
    </keyword-def>
2221
    <keyword-def name="narrower">
2222
        <keyword-value>narrower</keyword-value>
2223
    </keyword-def>
2224
    <keyword-def name="navy">
2225
        <keyword-value>navy</keyword-value>
2226
    </keyword-def>
2227
    <keyword-def name="ne-resize">
2228
        <keyword-value>ne-resize</keyword-value>
2229
    </keyword-def>
2230
    <keyword-def name="no-close-quote">
2231
        <keyword-value>no-close-quote</keyword-value>
2232
    </keyword-def>
2233
    <keyword-def name="no-open-quote">
2234
        <keyword-value>no-open-quote</keyword-value>
2235
    </keyword-def>
2236
    <keyword-def name="no-repeat">
2237
        <keyword-value>no-repeat</keyword-value>
2238
    </keyword-def>
2239
    <keyword-def name="none">
2240
        <keyword-value>none</keyword-value>
2241
    </keyword-def>
2242
    <keyword-def name="normal">
2243
        <keyword-value>normal</keyword-value>
2244
    </keyword-def>
2245
    <keyword-def name="nowrap">
2246
        <keyword-value>nowrap</keyword-value>
2247
    </keyword-def>
2248
    <keyword-def name="nw-resize">
2249
        <keyword-value>nw-resize</keyword-value>
2250
    </keyword-def>
2251
    <keyword-def name="oblique">
2252
        <keyword-value>oblique</keyword-value>
2253
    </keyword-def>
2254
    <keyword-def name="olive">
2255
        <keyword-value>olive</keyword-value>
2256
    </keyword-def>
2257
    <keyword-def name="once">
2258
        <keyword-value>once</keyword-value>
2259
    </keyword-def>
2260
    <keyword-def name="open-quote">
2261
        <keyword-value>open-quote</keyword-value>
2262
    </keyword-def>
2263
    <keyword-def name="orange">
2264
        <keyword-value>orange</keyword-value>
2265
    </keyword-def>
2266
    <keyword-def name="outset">
2267
        <keyword-value>outset</keyword-value>
2268
    </keyword-def>
2269
    <keyword-def name="outside">
2270
        <keyword-value>outside</keyword-value>
2271
    </keyword-def>
2272
    <keyword-def name="overline">
2273
        <keyword-value>overline</keyword-value>
2274
    </keyword-def>
2275
    <keyword-def name="padding-box" version="3">
2276
        <keyword-value>padding-box</keyword-value>
2277
    </keyword-def>
2278
    <keyword-def name="pointer">
2279
        <keyword-value>pointer</keyword-value>
2280
    </keyword-def>
2281
    <keyword-def name="portrait">
2282
        <keyword-value>portrait</keyword-value>
2283
    </keyword-def>
2284
    <keyword-def name="pre">
2285
        <keyword-value>pre</keyword-value>
2286
    </keyword-def>
2287
    <keyword-def name="pre-line">
2288
        <keyword-value>pre-line</keyword-value>
2289
    </keyword-def>
2290
    <keyword-def name="pre-wrap">
2291
        <keyword-value>pre-wrap</keyword-value>
2292
    </keyword-def>
2293
    <keyword-def name="progress">
2294
        <keyword-value>progress</keyword-value>
2295
    </keyword-def>
2296
    <keyword-def name="purple">
2297
        <keyword-value>purple</keyword-value>
2298
    </keyword-def>
2299
    <keyword-def name="red">
2300
        <keyword-value>red</keyword-value>
2301
    </keyword-def>
2302
    <keyword-def name="relative">
2303
        <keyword-value>relative</keyword-value>
2304
    </keyword-def>
2305
    <keyword-def name="repeat">
2306
        <keyword-value>repeat</keyword-value>
2307
    </keyword-def>
2308
    <keyword-def name="repeat-x">
2309
        <keyword-value>repeat-x</keyword-value>
2310
    </keyword-def>
2311
    <keyword-def name="repeat-y">
2312
        <keyword-value>repeat-y</keyword-value>
2313
    </keyword-def>
2314
    <keyword-def name="ridge">
2315
        <keyword-value>ridge</keyword-value>
2316
    </keyword-def>
2317
    <keyword-def name="right">
2318
        <keyword-value>right</keyword-value>
2319
    </keyword-def>
2320
    <keyword-def name="right-side">
2321
        <keyword-value>right-side</keyword-value>
2322
    </keyword-def>
2323
    <keyword-def name="rightwards">
2324
        <keyword-value>rightwards</keyword-value>
2325
    </keyword-def>
2326
    <keyword-def name="round" version="3">
2327
        <keyword-value>round</keyword-value>
2328
    </keyword-def>
2329
    <keyword-def name="rtl">
2330
        <keyword-value>rtl</keyword-value>
2331
    </keyword-def>
2332
    <keyword-def name="run-in">
2333
        <keyword-value>run-in</keyword-value>
2334
    </keyword-def>
2335
    <keyword-def name="s-resize">
2336
        <keyword-value>s-resize</keyword-value>
2337
    </keyword-def>
2338
    <keyword-def name="sans-serif">
2339
        <keyword-value>sans-serif</keyword-value>
2340
    </keyword-def>
2341
    <keyword-def name="scroll">
2342
        <keyword-value>scroll</keyword-value>
2343
    </keyword-def>
2344
    <keyword-def name="Scrollbar">
2345
        <keyword-value>Scrollbar</keyword-value>
2346
    </keyword-def>
2347
    <keyword-def name="se-resize">
2348
        <keyword-value>se-resize</keyword-value>
2349
    </keyword-def>
2350
    <keyword-def name="semi-condensed">
2351
        <keyword-value>semi-condensed</keyword-value>
2352
    </keyword-def>
2353
    <keyword-def name="semi-expanded">
2354
        <keyword-value>semi-expanded</keyword-value>
2355
    </keyword-def>
2356
    <keyword-def name="separate">
2357
        <keyword-value>separate</keyword-value>
2358
    </keyword-def>
2359
    <keyword-def name="serif">
2360
        <keyword-value>serif</keyword-value>
2361
    </keyword-def>
2362
    <keyword-def name="show">
2363
        <keyword-value>show</keyword-value>
2364
    </keyword-def>
2365
    <keyword-def name="silent">
2366
        <keyword-value>silent</keyword-value>
2367
    </keyword-def>
2368
    <keyword-def name="silver">
2369
        <keyword-value>silver</keyword-value>
2370
    </keyword-def>
2371
    <keyword-def name="slow">
2372
        <keyword-value>slow</keyword-value>
2373
    </keyword-def>
2374
    <keyword-def name="slower">
2375
        <keyword-value>slower</keyword-value>
2376
    </keyword-def>
2377
    <keyword-def name="small">
2378
        <keyword-value>small</keyword-value>
2379
    </keyword-def>
2380
    <keyword-def name="small-caps">
2381
        <keyword-value>small-caps</keyword-value>
2382
    </keyword-def>
2383
    <keyword-def name="small-caption">
2384
        <keyword-value>small-caption</keyword-value>
2385
    </keyword-def>
2386
    <keyword-def name="smaller">
2387
        <keyword-value>smaller</keyword-value>
2388
    </keyword-def>
2389
    <keyword-def name="soft">
2390
        <keyword-value>soft</keyword-value>
2391
    </keyword-def>
2392
    <keyword-def name="solid">
2393
        <keyword-value>solid</keyword-value>
2394
    </keyword-def>
2395
    <keyword-def name="space" version="3">
2396
        <keyword-value>space</keyword-value>
2397
    </keyword-def>
2398
    <keyword-def name="spell-out">
2399
        <keyword-value>spell-out</keyword-value>
2400
    </keyword-def>
2401
    <keyword-def name="square">
2402
        <keyword-value>square</keyword-value>
2403
    </keyword-def>
2404
    <keyword-def name="static">
2405
        <keyword-value>static</keyword-value>
2406
    </keyword-def>
2407
    <keyword-def name="status-bar">
2408
        <keyword-value>status-bar</keyword-value>
2409
    </keyword-def>
2410
    <keyword-def name="sub">
2411
        <keyword-value>sub</keyword-value>
2412
    </keyword-def>
2413
    <keyword-def name="super">
2414
        <keyword-value>super</keyword-value>
2415
    </keyword-def>
2416
    <keyword-def name="sw-resize">
2417
        <keyword-value>sw-resize</keyword-value>
2418
    </keyword-def>
2419
    <keyword-def name="table">
2420
        <keyword-value>table</keyword-value>
2421
    </keyword-def>
2422
    <keyword-def name="table-caption">
2423
        <keyword-value>table-caption</keyword-value>
2424
    </keyword-def>
2425
    <keyword-def name="table-cell">
2426
        <keyword-value>table-cell</keyword-value>
2427
    </keyword-def>
2428
    <keyword-def name="table-column">
2429
        <keyword-value>table-column</keyword-value>
2430
    </keyword-def>
2431
    <keyword-def name="table-column-group">
2432
        <keyword-value>table-column-group</keyword-value>
2433
    </keyword-def>
2434
    <keyword-def name="table-footer-group">
2435
        <keyword-value>table-footer-group</keyword-value>
2436
    </keyword-def>
2437
    <keyword-def name="table-header-group">
2438
        <keyword-value>table-header-group</keyword-value>
2439
    </keyword-def>
2440
    <keyword-def name="table-row">
2441
        <keyword-value>table-row</keyword-value>
2442
    </keyword-def>
2443
    <keyword-def name="table-row-group">
2444
        <keyword-value>table-row-group</keyword-value>
2445
    </keyword-def>
2446
    <keyword-def name="teal">
2447
        <keyword-value>teal</keyword-value>
2448
    </keyword-def>
2449
    <keyword-def name="text">
2450
        <keyword-value>text</keyword-value>
2451
    </keyword-def>
2452
    <keyword-def name="text-top">
2453
        <keyword-value>text-top</keyword-value>
2454
    </keyword-def>
2455
    <keyword-def name="text-bottom">
2456
        <keyword-value>text-bottom</keyword-value>
2457
    </keyword-def>
2458
    <keyword-def name="thick">
2459
        <keyword-value>thick</keyword-value>
2460
    </keyword-def>
2461
    <keyword-def name="thin">
2462
        <keyword-value>thin</keyword-value>
2463
    </keyword-def>
2464
    <keyword-def name="ThreeDDarkShadow">
2465
        <keyword-value>ThreeDDarkShadow</keyword-value>
2466
    </keyword-def>
2467
    <keyword-def name="ThreeDFace">
2468
        <keyword-value>ThreeDFace</keyword-value>
2469
    </keyword-def>
2470
    <keyword-def name="ThreeDHighlight">
2471
        <keyword-value>ThreeDHighlight</keyword-value>
2472
    </keyword-def>
2473
    <keyword-def name="ThreeDLightShadow">
2474
        <keyword-value>ThreeDLightShadow</keyword-value>
2475
    </keyword-def>
2476
    <keyword-def name="ThreeDShadow">
2477
        <keyword-value>ThreeDShadow</keyword-value>
2478
    </keyword-def>
2479
    <keyword-def name="top">
2480
        <keyword-value>top</keyword-value>
2481
    </keyword-def>
2482
    <keyword-def name="transparent">
2483
        <keyword-value>transparent</keyword-value>
2484
    </keyword-def>
2485
    <keyword-def name="ultra-condensed">
2486
        <keyword-value>ultra-condensed</keyword-value>
2487
    </keyword-def>
2488
    <keyword-def name="ultra-expanded">
2489
        <keyword-value>ultra-expanded</keyword-value>
2490
    </keyword-def>
2491
    <keyword-def name="underline">
2492
        <keyword-value>underline</keyword-value>
2493
    </keyword-def>
2494
    <keyword-def name="upper-alpha">
2495
        <keyword-value>upper-alpha</keyword-value>
2496
    </keyword-def>
2497
    <keyword-def name="upper-latin">
2498
        <keyword-value>upper-latin</keyword-value>
2499
    </keyword-def>
2500
    <keyword-def name="upper-roman">
2501
        <keyword-value>upper-roman</keyword-value>
2502
    </keyword-def>
2503
    <keyword-def name="uppercase">
2504
        <keyword-value>uppercase</keyword-value>
2505
    </keyword-def>
2506
    <keyword-def name="vertical" version="3">
2507
    	<keyword-value>vertical</keyword-value>
2508
    </keyword-def>
2509
    <keyword-def name="visible">
2510
        <keyword-value>visible</keyword-value>
2511
    </keyword-def>
2512
    <keyword-def name="w-resize">
2513
        <keyword-value>w-resize</keyword-value>
2514
    </keyword-def>
2515
    <keyword-def name="wait">
2516
        <keyword-value>wait</keyword-value>
2517
    </keyword-def>
2518
    <keyword-def name="white">
2519
        <keyword-value>white</keyword-value>
2520
    </keyword-def>
2521
    <keyword-def name="wider">
2522
        <keyword-value>wider</keyword-value>
2523
    </keyword-def>
2524
    <keyword-def name="Window">
2525
        <keyword-value>Window</keyword-value>
2526
    </keyword-def>
2527
    <keyword-def name="WindowFrame">
2528
        <keyword-value>WindowFrame</keyword-value>
2529
    </keyword-def>
2530
    <keyword-def name="WindowText">
2531
        <keyword-value>WindowText</keyword-value>
2532
    </keyword-def>
2533
    <keyword-def name="x-fast">
2534
        <keyword-value>x-fast</keyword-value>
2535
    </keyword-def>
2536
    <keyword-def name="x-high">
2537
        <keyword-value>x-high</keyword-value>
2538
    </keyword-def>
2539
    <keyword-def name="x-large">
2540
        <keyword-value>x-large</keyword-value>
2541
    </keyword-def>
2542
    <keyword-def name="x-loud">
2543
        <keyword-value>x-loud</keyword-value>
2544
    </keyword-def>
2545
    <keyword-def name="x-low">
2546
        <keyword-value>x-low</keyword-value>
2547
    </keyword-def>
2548
    <keyword-def name="x-slow">
2549
        <keyword-value>x-slow</keyword-value>
2550
    </keyword-def>
2551
    <keyword-def name="x-small">
2552
        <keyword-value>x-small</keyword-value>
2553
    </keyword-def>
2554
    <keyword-def name="x-soft">
2555
        <keyword-value>x-soft</keyword-value>
2556
    </keyword-def>
2557
    <keyword-def name="xx-small">
2558
        <keyword-value>xx-small</keyword-value>
2559
    </keyword-def>
2560
    <keyword-def name="xx-large">
2561
        <keyword-value>xx-large</keyword-value>
2562
    </keyword-def>
2563
    <keyword-def name="yellow">
2564
        <keyword-value>yellow</keyword-value>
2565
    </keyword-def>
2566
</css-profile>
(-)cssprofile/cssprofile.properties (+2 lines)
Lines 27-32 Link Here
27
css2.category-def.text.caption=Text
27
css2.category-def.text.caption=Text
28
css2.category-def.visual.caption=Visual
28
css2.category-def.visual.caption=Visual
29
css2.category-def.ui.caption=User interface
29
css2.category-def.ui.caption=User interface
30
# cssprofile-css3.xml
31
css3.stylesheet-def.description=Cascading Style Sheets, level 3
30
# cssprofile-mobile1_0.xml
32
# cssprofile-mobile1_0.xml
31
mobile1_0.stylesheet-def.description=CSS Mobile Profile 1.0
33
mobile1_0.stylesheet-def.description=CSS Mobile Profile 1.0
32
# cssprofile-wap.xml
34
# cssprofile-wap.xml
(-)plugin.properties (+1 lines)
Lines 10-15 Link Here
10
###############################################################################
10
###############################################################################
11
providerName=Eclipse Web Tools Platform
11
providerName=Eclipse Web Tools Platform
12
pluginName=Structured Source CSS Model
12
pluginName=Structured Source CSS Model
13
cssprofile_css3.name=CSS3: Cascading Style Sheets, level 3
13
cssprofile_css2.name=CSS2: Cascading Style Sheets, level 2
14
cssprofile_css2.name=CSS2: Cascading Style Sheets, level 2
14
cssprofile_css1.name=CSS1: Cascading Style Sheets, level 1
15
cssprofile_css1.name=CSS1: Cascading Style Sheets, level 1
15
cssprofile_mobile1_0.name=CSS Mobile Profile 1.0
16
cssprofile_mobile1_0.name=CSS Mobile Profile 1.0
(-)plugin.xml (-1 / +6 lines)
Lines 4-11 Link Here
4
4
5
	<extension point="org.eclipse.wst.sse.core.cssprofile">
5
	<extension point="org.eclipse.wst.sse.core.cssprofile">
6
		<profile
6
		<profile
7
			name="%cssprofile_css2.name"
7
			name="%cssprofile_css3.name"
8
			default="true"
8
			default="true"
9
			uri="cssprofile/cssprofile-css3.xml"
10
			id="org.eclipse.wst.css.core.cssprofile.css3">
11
		</profile>
12
		<profile
13
			name="%cssprofile_css2.name"
9
			uri="cssprofile/cssprofile-css2.xml"
14
			uri="cssprofile/cssprofile-css2.xml"
10
			id="org.eclipse.wst.css.core.cssprofile.css2">
15
			id="org.eclipse.wst.css.core.cssprofile.css2">
11
		</profile>
16
		</profile>
(-)src/org/eclipse/wst/css/core/internal/contentmodel/IValID.java (+14 lines)
Lines 17-22 Link Here
17
 */
17
 */
18
public interface IValID {
18
public interface IValID {
19
19
20
	public final static String V_1 = "1";//$NON-NLS-1$
20
	public final static String V_100 = "100"; //$NON-NLS-1$
21
	public final static String V_100 = "100"; //$NON-NLS-1$
21
	public final static String V_200 = "200"; //$NON-NLS-1$
22
	public final static String V_200 = "200"; //$NON-NLS-1$
22
	public final static String V_300 = "300"; //$NON-NLS-1$
23
	public final static String V_300 = "300"; //$NON-NLS-1$
Lines 38-43 Link Here
38
	public final static String V_AUTO = "auto"; //$NON-NLS-1$
39
	public final static String V_AUTO = "auto"; //$NON-NLS-1$
39
	public final static String V_AVOID = "avoid"; //$NON-NLS-1$
40
	public final static String V_AVOID = "avoid"; //$NON-NLS-1$
40
	public final static String V_BACKGROUND = "Background"; //$NON-NLS-1$
41
	public final static String V_BACKGROUND = "Background"; //$NON-NLS-1$
42
	public final static String V_BALANCE = "balance";//$NON-NLS-1$
41
	public final static String V_BASELINE = "baseline"; //$NON-NLS-1$
43
	public final static String V_BASELINE = "baseline"; //$NON-NLS-1$
42
	public final static String V_BEHIND = "behind"; //$NON-NLS-1$
44
	public final static String V_BEHIND = "behind"; //$NON-NLS-1$
43
	public final static String V_BELOW = "below"; //$NON-NLS-1$
45
	public final static String V_BELOW = "below"; //$NON-NLS-1$
Lines 48-53 Link Here
48
	public final static String V_BLUE = "blue"; //$NON-NLS-1$
50
	public final static String V_BLUE = "blue"; //$NON-NLS-1$
49
	public final static String V_BOLD = "bold"; //$NON-NLS-1$
51
	public final static String V_BOLD = "bold"; //$NON-NLS-1$
50
	public final static String V_BOLDER = "bolder"; //$NON-NLS-1$
52
	public final static String V_BOLDER = "bolder"; //$NON-NLS-1$
53
	public final static String V_BORDER_BOX = "border-box"; //$NON-NLS-1$
51
	public final static String V_BOTH = "both"; //$NON-NLS-1$
54
	public final static String V_BOTH = "both"; //$NON-NLS-1$
52
	public final static String V_BOTTOM = "bottom"; //$NON-NLS-1$
55
	public final static String V_BOTTOM = "bottom"; //$NON-NLS-1$
53
	public final static String V_BUTTONFACE = "ButtonFace"; //$NON-NLS-1$
56
	public final static String V_BUTTONFACE = "ButtonFace"; //$NON-NLS-1$
Lines 63-74 Link Here
63
	public final static String V_CHILD = "child"; //$NON-NLS-1$
66
	public final static String V_CHILD = "child"; //$NON-NLS-1$
64
	public final static String V_CIRCLE = "circle"; //$NON-NLS-1$
67
	public final static String V_CIRCLE = "circle"; //$NON-NLS-1$
65
	public final static String V_CJK_IDEOGRAPHIC = "cjk-ideographic"; //$NON-NLS-1$
68
	public final static String V_CJK_IDEOGRAPHIC = "cjk-ideographic"; //$NON-NLS-1$
69
	public final static String V_CLIP = "clip"; //$NON-NLS-1$
66
	public final static String V_CLOSE_QUOTE = "close-quote"; //$NON-NLS-1$
70
	public final static String V_CLOSE_QUOTE = "close-quote"; //$NON-NLS-1$
67
	public final static String V_CODE = "code"; //$NON-NLS-1$
71
	public final static String V_CODE = "code"; //$NON-NLS-1$
68
	public final static String V_CONDENSED = "condensed"; //$NON-NLS-1$
72
	public final static String V_CONDENSED = "condensed"; //$NON-NLS-1$
69
	public final static String V_COLLAPSE = "collapse"; //$NON-NLS-1$
73
	public final static String V_COLLAPSE = "collapse"; //$NON-NLS-1$
70
	public final static String V_COMPACT = "compact"; //$NON-NLS-1$
74
	public final static String V_COMPACT = "compact"; //$NON-NLS-1$
75
	public final static String V_CONTAIN = "contain"; //$NON-NLS-1$
76
	public final static String V_CONTENT_BOX = "content-box"; //$NON-NLS-1$
71
	public final static String V_CONTINUOUS = "continuous"; //$NON-NLS-1$
77
	public final static String V_CONTINUOUS = "continuous"; //$NON-NLS-1$
78
	public final static String V_COVER = "cover"; //$NON-NLS-1$
72
	public final static String V_CROP = "crop"; //$NON-NLS-1$
79
	public final static String V_CROP = "crop"; //$NON-NLS-1$
73
	public final static String V_CROSS = "cross"; //$NON-NLS-1$
80
	public final static String V_CROSS = "cross"; //$NON-NLS-1$
74
	public final static String V_CROSSHAIR = "crosshair"; //$NON-NLS-1$
81
	public final static String V_CROSSHAIR = "crosshair"; //$NON-NLS-1$
Lines 82-87 Link Here
82
	public final static String V_DOTTED = "dotted"; //$NON-NLS-1$
89
	public final static String V_DOTTED = "dotted"; //$NON-NLS-1$
83
	public final static String V_DOUBLE = "double"; //$NON-NLS-1$
90
	public final static String V_DOUBLE = "double"; //$NON-NLS-1$
84
	public final static String V_E_RESIZE = "e-resize"; //$NON-NLS-1$
91
	public final static String V_E_RESIZE = "e-resize"; //$NON-NLS-1$
92
	public final static String V_ELLIPSIS = "ellipsis"; //$NON-NLS-1$
85
	public final static String V_EMBED = "embed"; //$NON-NLS-1$
93
	public final static String V_EMBED = "embed"; //$NON-NLS-1$
86
	public final static String V_EXPANDED = "expanded"; //$NON-NLS-1$
94
	public final static String V_EXPANDED = "expanded"; //$NON-NLS-1$
87
	public final static String V_EXTRA_CONDENSED = "extra-condensed"; //$NON-NLS-1$
95
	public final static String V_EXTRA_CONDENSED = "extra-condensed"; //$NON-NLS-1$
Lines 109-114 Link Here
109
	public final static String V_HIGHER = "higher"; //$NON-NLS-1$
117
	public final static String V_HIGHER = "higher"; //$NON-NLS-1$
110
	public final static String V_HIRAGANA = "hiragana"; //$NON-NLS-1$
118
	public final static String V_HIRAGANA = "hiragana"; //$NON-NLS-1$
111
	public final static String V_HIRAGANA_IROHA = "hiragana-iroha"; //$NON-NLS-1$
119
	public final static String V_HIRAGANA_IROHA = "hiragana-iroha"; //$NON-NLS-1$
120
	public final static String V_HORIZONTAL = "horizontal"; //$NON-NLS-1$
112
	public final static String V_ICON = "icon"; //$NON-NLS-1$
121
	public final static String V_ICON = "icon"; //$NON-NLS-1$
113
	public final static String V_INACTIVEBORDER = "InactiveBorder"; //$NON-NLS-1$
122
	public final static String V_INACTIVEBORDER = "InactiveBorder"; //$NON-NLS-1$
114
	public final static String V_INACTIVECAPTION = "InactiveCaption"; //$NON-NLS-1$
123
	public final static String V_INACTIVECAPTION = "InactiveCaption"; //$NON-NLS-1$
Lines 136-141 Link Here
136
	public final static String V_LIME = "lime"; //$NON-NLS-1$
145
	public final static String V_LIME = "lime"; //$NON-NLS-1$
137
	public final static String V_LINE_THROUGH = "line-through"; //$NON-NLS-1$
146
	public final static String V_LINE_THROUGH = "line-through"; //$NON-NLS-1$
138
	public final static String V_LIST_ITEM = "list-item"; //$NON-NLS-1$
147
	public final static String V_LIST_ITEM = "list-item"; //$NON-NLS-1$
148
	public final static String V_LOCAL = "local"; //$NON-NLS-1$
139
	public final static String V_LOUD = "loud"; //$NON-NLS-1$
149
	public final static String V_LOUD = "loud"; //$NON-NLS-1$
140
	public final static String V_LOW = "low"; //$NON-NLS-1$
150
	public final static String V_LOW = "low"; //$NON-NLS-1$
141
	public final static String V_LOWER = "lower"; //$NON-NLS-1$
151
	public final static String V_LOWER = "lower"; //$NON-NLS-1$
Lines 175-180 Link Here
175
	public final static String V_OUTSET = "outset"; //$NON-NLS-1$
185
	public final static String V_OUTSET = "outset"; //$NON-NLS-1$
176
	public final static String V_OUTSIDE = "outside"; //$NON-NLS-1$
186
	public final static String V_OUTSIDE = "outside"; //$NON-NLS-1$
177
	public final static String V_OVERLINE = "overline"; //$NON-NLS-1$
187
	public final static String V_OVERLINE = "overline"; //$NON-NLS-1$
188
	public final static String V_PADDING_BOX = "padding-box"; //$NON-NLS-1$
178
	public final static String V_POINTER = "pointer"; //$NON-NLS-1$
189
	public final static String V_POINTER = "pointer"; //$NON-NLS-1$
179
	public final static String V_PORTRAIT = "portrait"; //$NON-NLS-1$
190
	public final static String V_PORTRAIT = "portrait"; //$NON-NLS-1$
180
	public final static String V_PRE = "pre"; //$NON-NLS-1$
191
	public final static String V_PRE = "pre"; //$NON-NLS-1$
Lines 191-196 Link Here
191
	public final static String V_RIGHT = "right"; //$NON-NLS-1$
202
	public final static String V_RIGHT = "right"; //$NON-NLS-1$
192
	public final static String V_RIGHT_SIDE = "right-side"; //$NON-NLS-1$
203
	public final static String V_RIGHT_SIDE = "right-side"; //$NON-NLS-1$
193
	public final static String V_RIGHTWARDS = "rightwards"; //$NON-NLS-1$
204
	public final static String V_RIGHTWARDS = "rightwards"; //$NON-NLS-1$
205
	public final static String V_ROUND = "round"; //$NON-NLS-1$
194
	public final static String V_RTL = "rtl"; //$NON-NLS-1$
206
	public final static String V_RTL = "rtl"; //$NON-NLS-1$
195
	public final static String V_RUN_IN = "run-in"; //$NON-NLS-1$
207
	public final static String V_RUN_IN = "run-in"; //$NON-NLS-1$
196
	public final static String V_S_RESIZE = "s-resize"; //$NON-NLS-1$
208
	public final static String V_S_RESIZE = "s-resize"; //$NON-NLS-1$
Lines 213-218 Link Here
213
	public final static String V_SMALLER = "smaller"; //$NON-NLS-1$
225
	public final static String V_SMALLER = "smaller"; //$NON-NLS-1$
214
	public final static String V_SOFT = "soft"; //$NON-NLS-1$
226
	public final static String V_SOFT = "soft"; //$NON-NLS-1$
215
	public final static String V_SOLID = "solid"; //$NON-NLS-1$
227
	public final static String V_SOLID = "solid"; //$NON-NLS-1$
228
	public final static String V_SPACE = "space"; //$NON-NLS-1$
216
	public final static String V_SPELL_OUT = "spell-out"; //$NON-NLS-1$
229
	public final static String V_SPELL_OUT = "spell-out"; //$NON-NLS-1$
217
	public final static String V_SQUARE = "square"; //$NON-NLS-1$
230
	public final static String V_SQUARE = "square"; //$NON-NLS-1$
218
	public final static String V_STATIC = "static"; //$NON-NLS-1$
231
	public final static String V_STATIC = "static"; //$NON-NLS-1$
Lines 249-254 Link Here
249
	public final static String V_UPPER_LATIN = "upper-latin"; //$NON-NLS-1$
262
	public final static String V_UPPER_LATIN = "upper-latin"; //$NON-NLS-1$
250
	public final static String V_UPPER_ROMAN = "upper-roman"; //$NON-NLS-1$
263
	public final static String V_UPPER_ROMAN = "upper-roman"; //$NON-NLS-1$
251
	public final static String V_UPPERCASE = "uppercase"; //$NON-NLS-1$
264
	public final static String V_UPPERCASE = "uppercase"; //$NON-NLS-1$
265
	public final static String V_VERTICAL = "vertical";//$NON-NLS-1$
252
	public final static String V_VISIBLE = "visible"; //$NON-NLS-1$
266
	public final static String V_VISIBLE = "visible"; //$NON-NLS-1$
253
	public final static String V_W_RESIZE = "w-resize"; //$NON-NLS-1$
267
	public final static String V_W_RESIZE = "w-resize"; //$NON-NLS-1$
254
	public final static String V_WAIT = "wait"; //$NON-NLS-1$
268
	public final static String V_WAIT = "wait"; //$NON-NLS-1$
(-)src/org/eclipse/wst/css/core/internal/contentmodel/PropCMNode.java (+145 lines)
Lines 126-131 Link Here
126
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_ATTACHMENT);
126
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_ATTACHMENT);
127
		prop.appendChild(IValID.V_SCROLL);
127
		prop.appendChild(IValID.V_SCROLL);
128
		prop.appendChild(IValID.V_FIXED);
128
		prop.appendChild(IValID.V_FIXED);
129
		prop.appendChild(IValID.V_LOCAL);
130
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
131
132
		// background-clip
133
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_CLIP);
134
		prop.appendChild(IValID.V_BORDER_BOX);
135
		prop.appendChild(IValID.V_CONTENT_BOX);
136
		prop.appendChild(IValID.V_PADDING_BOX);
129
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
137
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
130
138
131
		// background-color
139
		// background-color
Lines 140-145 Link Here
140
		prop.appendChild(IValID.V_NONE);
148
		prop.appendChild(IValID.V_NONE);
141
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
149
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
142
150
151
		// background-origin
152
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_ORIGIN);
153
		prop.appendChild(IValID.V_PADDING_BOX);
154
		prop.appendChild(IValID.V_BORDER_BOX);
155
		prop.appendChild(IValID.V_CONTENT_BOX);
156
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
157
143
		// background-position ---- sub-properties horizontal
158
		// background-position ---- sub-properties horizontal
144
		prop = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_X);
159
		prop = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_X);
145
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
160
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
Lines 170-178 Link Here
170
		prop.appendChild(IValID.V_REPEAT);
185
		prop.appendChild(IValID.V_REPEAT);
171
		prop.appendChild(IValID.V_REPEAT_X);
186
		prop.appendChild(IValID.V_REPEAT_X);
172
		prop.appendChild(IValID.V_REPEAT_Y);
187
		prop.appendChild(IValID.V_REPEAT_Y);
188
		prop.appendChild(IValID.V_SPACE);
189
		prop.appendChild(IValID.V_ROUND);
173
		prop.appendChild(IValID.V_NO_REPEAT);
190
		prop.appendChild(IValID.V_NO_REPEAT);
174
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
191
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
175
192
193
		// background-size
194
		prop = PropCMSubProperty.getInstanceOf(PropCMProperty.P_BG_SIZE);
195
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
196
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
197
		prop.appendChild(IValID.V_CONTAIN);
198
		prop.appendChild(IValID.V_COVER);
199
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
200
176
		// border
201
		// border
177
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER);
202
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER);
178
		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_WIDTH));
203
		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_WIDTH));
Lines 317-322 Link Here
317
		prop.setMaxValueCount(4);
342
		prop.setMaxValueCount(4);
318
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
343
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
319
344
345
		// border-top-left-radius
346
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_LEFT_RADIUS);
347
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
348
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
349
350
		// border-top-right-radius
351
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_RIGHT_RADIUS);
352
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
353
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
354
355
		// border-bottom-left-radius
356
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_LEFT_RADIUS);
357
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
358
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
359
360
		// border-bottom-right-radius
361
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_RIGHT_RADIUS);
362
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
363
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
364
365
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RADIUS);
366
		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_LEFT_RADIUS));
367
		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_RIGHT_RADIUS));
368
		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_LEFT_RADIUS));
369
		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_RIGHT_RADIUS));
370
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
371
		prop.setMaxValueCount(4);
372
320
		// bottom
373
		// bottom
321
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BOTTOM);
374
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BOTTOM);
322
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
375
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
Lines 324-329 Link Here
324
		prop.appendChild(IValID.V_AUTO);
377
		prop.appendChild(IValID.V_AUTO);
325
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
378
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
326
379
380
		// box-shadow
381
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BOX_SHADOW);
382
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
383
		// prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR));
384
		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR));
385
		prop.setMaxValueCount(4);
386
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
387
388
		// box-shadow
389
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BOX_SIZING);
390
		prop.appendChild(IValID.V_BORDER_BOX);
391
		prop.appendChild(IValID.V_CONTENT_BOX);
392
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
393
327
		// caption-side
394
		// caption-side
328
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_CAPTION_SIDE);
395
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_CAPTION_SIDE);
329
		prop.appendChild(IValID.V_TOP);
396
		prop.appendChild(IValID.V_TOP);
Lines 379-384 Link Here
379
		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR));
446
		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR));
380
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
447
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
381
448
449
		// columns
450
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMNS);
451
		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_WIDTH));
452
		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_COUNT));
453
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
454
455
		// column-width
456
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_WIDTH);
457
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
458
		prop.appendChild(IValID.V_AUTO);
459
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
460
461
		// column-count
462
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_COUNT);
463
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_INTEGER));
464
		prop.appendChild(IValID.V_AUTO);
465
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
466
467
		// column-fill
468
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_FILL);
469
		prop.appendChild(IValID.V_AUTO);
470
		prop.appendChild(IValID.V_BALANCE);
471
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
472
473
		// column-gap
474
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_GAP);
475
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
476
		prop.appendChild(IValID.V_NORMAL);
477
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
478
479
		// column-rule
480
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_RULE);
481
		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_RULE_WIDTH));
482
		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_RULE_STYLE));
483
		prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_RULE_COLOR));
484
		prop.setMaxValueCount(3);
485
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
486
487
		// column-rule-color
488
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_RULE_COLOR);
489
		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR));
490
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
491
492
		// column-rule-style
493
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_RULE_STYLE);
494
		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_BORDER_STYLE));
495
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
496
497
		// column-rule-width
498
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_RULE_WIDTH);
499
		prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_BORDER_WIDTH));
500
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
501
502
		// column-span
503
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_SPAN);
504
		prop.appendChild(IValID.V_1);
505
		prop.appendChild(IValID.V_ALL);
506
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
507
382
		// content
508
		// content
383
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_CONTENT);
509
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_CONTENT);
384
		prop.appendChild(PropCMString.getInstanceOf(PropCMString.VAL_ANY));
510
		prop.appendChild(PropCMString.getInstanceOf(PropCMString.VAL_ANY));
Lines 731-736 Link Here
731
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
857
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
732
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
858
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
733
859
860
		// opacity
861
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_OPACITY);
862
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
863
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
864
734
		// orphans
865
		// orphans
735
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_ORPHANS);
866
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_ORPHANS);
736
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_INTEGER));
867
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_INTEGER));
Lines 896-901 Link Here
896
		prop.setMaxValueCount(-1);
1027
		prop.setMaxValueCount(-1);
897
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
1028
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
898
1029
1030
		// resize
1031
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_RESIZE);
1032
		prop.appendChild(IValID.V_BOTH);
1033
		prop.appendChild(IValID.V_HORIZONTAL);
1034
		prop.appendChild(IValID.V_NONE);
1035
		prop.appendChild(IValID.V_VERTICAL);
1036
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
1037
899
		// richness
1038
		// richness
900
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_RICHNESS);
1039
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_RICHNESS);
901
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
1040
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
Lines 989-994 Link Here
989
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
1128
		prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
990
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
1129
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
991
1130
1131
		// text-overflow
1132
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_OVERFLOW);
1133
		prop.appendChild(IValID.V_CLIP);
1134
		prop.appendChild(IValID.V_ELLIPSIS);
1135
		prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
1136
992
		// text-shadow
1137
		// text-shadow
993
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_SHADOW);
1138
		prop = PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_SHADOW);
994
		prop.appendChild(IValID.V_NONE);
1139
		prop.appendChild(IValID.V_NONE);
(-)src/org/eclipse/wst/css/core/internal/contentmodel/PropCMProperty.java (+23 lines)
Lines 33-42 Link Here
33
	public final static String P_AZIMUTH = "azimuth";//$NON-NLS-1$
33
	public final static String P_AZIMUTH = "azimuth";//$NON-NLS-1$
34
	public final static String P_BG = "background";//$NON-NLS-1$
34
	public final static String P_BG = "background";//$NON-NLS-1$
35
	public final static String P_BG_ATTACHMENT = "background-attachment";//$NON-NLS-1$
35
	public final static String P_BG_ATTACHMENT = "background-attachment";//$NON-NLS-1$
36
	public final static String P_BG_CLIP = "background-clip"; //$NON-NLS-1$
36
	public final static String P_BG_COLOR = "background-color";//$NON-NLS-1$
37
	public final static String P_BG_COLOR = "background-color";//$NON-NLS-1$
37
	public final static String P_BG_IMAGE = "background-image";//$NON-NLS-1$
38
	public final static String P_BG_IMAGE = "background-image";//$NON-NLS-1$
39
	public final static String P_BG_ORIGIN = "background-origin"; //$NON-NLS-1$
38
	public final static String P_BG_POSITION = "background-position";//$NON-NLS-1$
40
	public final static String P_BG_POSITION = "background-position";//$NON-NLS-1$
39
	public final static String P_BG_REPEAT = "background-repeat";//$NON-NLS-1$
41
	public final static String P_BG_REPEAT = "background-repeat";//$NON-NLS-1$
42
	public final static String P_BG_SIZE = "background-size"; //$NON-NLS-1$
40
	public final static String P_BORDER = "border";//$NON-NLS-1$
43
	public final static String P_BORDER = "border";//$NON-NLS-1$
41
	public final static String P_BORDER_COLLAPSE = "border-collapse";//$NON-NLS-1$
44
	public final static String P_BORDER_COLLAPSE = "border-collapse";//$NON-NLS-1$
42
	public final static String P_BORDER_COLOR = "border-color";//$NON-NLS-1$
45
	public final static String P_BORDER_COLOR = "border-color";//$NON-NLS-1$
Lines 59-69 Link Here
59
	public final static String P_BORDER_BOTTOM_WIDTH = "border-bottom-width";//$NON-NLS-1$
62
	public final static String P_BORDER_BOTTOM_WIDTH = "border-bottom-width";//$NON-NLS-1$
60
	public final static String P_BORDER_LEFT_WIDTH = "border-left-width";//$NON-NLS-1$
63
	public final static String P_BORDER_LEFT_WIDTH = "border-left-width";//$NON-NLS-1$
61
	public final static String P_BORDER_WIDTH = "border-width";//$NON-NLS-1$
64
	public final static String P_BORDER_WIDTH = "border-width";//$NON-NLS-1$
65
	public final static String P_BORDER_RADIUS = "border-radius"; //$NON-NLS-1$
66
	public final static String P_BORDER_TOP_LEFT_RADIUS = "border-top-left-radius"; //$NON-NLS-1$
67
	public final static String P_BORDER_TOP_RIGHT_RADIUS = "border-top-right-radius"; //$NON-NLS-1$
68
	public final static String P_BORDER_BOTTOM_LEFT_RADIUS = "border-bottom-left-radius"; //$NON-NLS-1$
69
	public final static String P_BORDER_BOTTOM_RIGHT_RADIUS = "border-bottom-right-radius"; //$NON-NLS-1$
62
	public final static String P_BOTTOM = "bottom";//$NON-NLS-1$
70
	public final static String P_BOTTOM = "bottom";//$NON-NLS-1$
71
	public final static String P_BOX_SHADOW = "box-shadow"; //$NON-NLS-1$
72
	public final static String P_BOX_SIZING = "box-sizing"; //$NON-NLS-1$
63
	public final static String P_CAPTION_SIDE = "caption-side";//$NON-NLS-1$
73
	public final static String P_CAPTION_SIDE = "caption-side";//$NON-NLS-1$
64
	public final static String P_CLEAR = "clear";//$NON-NLS-1$
74
	public final static String P_CLEAR = "clear";//$NON-NLS-1$
65
	public final static String P_CLIP = "clip";//$NON-NLS-1$
75
	public final static String P_CLIP = "clip";//$NON-NLS-1$
66
	public final static String P_COLOR = "color";//$NON-NLS-1$
76
	public final static String P_COLOR = "color";//$NON-NLS-1$
77
	public final static String P_COLUMNS = "columns";//$NON-NLS-1$
78
	public final static String P_COLUMN_COUNT = "column-count";//$NON-NLS-1$
79
	public final static String P_COLUMN_FILL = "column-fill";//$NON-NLS-1$
80
	public final static String P_COLUMN_GAP = "column-gap";//$NON-NLS-1$
81
	public final static String P_COLUMN_RULE = "column-rule";//$NON-NLS-1$
82
	public final static String P_COLUMN_RULE_COLOR = "column-rule-color";//$NON-NLS-1$
83
	public final static String P_COLUMN_RULE_STYLE = "column-rule-styler";//$NON-NLS-1$
84
	public final static String P_COLUMN_RULE_WIDTH = "column-rule-width";//$NON-NLS-1$
85
	public final static String P_COLUMN_SPAN = "column-span";//$NON-NLS-1$
86
	public final static String P_COLUMN_WIDTH = "column-width";//$NON-NLS-1$
67
	public final static String P_CONTENT = "content";//$NON-NLS-1$
87
	public final static String P_CONTENT = "content";//$NON-NLS-1$
68
	public final static String P_COUNTER_INCREMENT = "counter-increment";//$NON-NLS-1$
88
	public final static String P_COUNTER_INCREMENT = "counter-increment";//$NON-NLS-1$
69
	public final static String P_COUNTER_RESET = "counter-reset";//$NON-NLS-1$
89
	public final static String P_COUNTER_RESET = "counter-reset";//$NON-NLS-1$
Lines 103-108 Link Here
103
	public final static String P_MAX_WIDTH = "max-width";//$NON-NLS-1$
123
	public final static String P_MAX_WIDTH = "max-width";//$NON-NLS-1$
104
	public final static String P_MIN_HEIGHT = "min-height";//$NON-NLS-1$
124
	public final static String P_MIN_HEIGHT = "min-height";//$NON-NLS-1$
105
	public final static String P_MIN_WIDTH = "min-width";//$NON-NLS-1$
125
	public final static String P_MIN_WIDTH = "min-width";//$NON-NLS-1$
126
	public final static String P_OPACITY = "opacity"; //$NON-NLS-1$
106
	public final static String P_ORPHANS = "orphans";//$NON-NLS-1$
127
	public final static String P_ORPHANS = "orphans";//$NON-NLS-1$
107
	public final static String P_OUTLINE = "outline";//$NON-NLS-1$
128
	public final static String P_OUTLINE = "outline";//$NON-NLS-1$
108
	public final static String P_OUTLINE_COLOR = "outline-color";//$NON-NLS-1$
129
	public final static String P_OUTLINE_COLOR = "outline-color";//$NON-NLS-1$
Lines 126-131 Link Here
126
	public final static String P_PLAY_DURING = "play-during";//$NON-NLS-1$
147
	public final static String P_PLAY_DURING = "play-during";//$NON-NLS-1$
127
	public final static String P_POSITION = "position";//$NON-NLS-1$
148
	public final static String P_POSITION = "position";//$NON-NLS-1$
128
	public final static String P_QUOTES = "quotes";//$NON-NLS-1$
149
	public final static String P_QUOTES = "quotes";//$NON-NLS-1$
150
	public final static String P_RESIZE = "resize"; //$NON-NLS-1$
129
	public final static String P_RICHNESS = "richness";//$NON-NLS-1$
151
	public final static String P_RICHNESS = "richness";//$NON-NLS-1$
130
	public final static String P_RIGHT = "right";//$NON-NLS-1$
152
	public final static String P_RIGHT = "right";//$NON-NLS-1$
131
	public final static String P_SIZE = "size";//$NON-NLS-1$
153
	public final static String P_SIZE = "size";//$NON-NLS-1$
Lines 139-144 Link Here
139
	public final static String P_TEXT_ALIGN = "text-align";//$NON-NLS-1$
161
	public final static String P_TEXT_ALIGN = "text-align";//$NON-NLS-1$
140
	public final static String P_TEXT_DECORATION = "text-decoration";//$NON-NLS-1$
162
	public final static String P_TEXT_DECORATION = "text-decoration";//$NON-NLS-1$
141
	public final static String P_TEXT_INDENT = "text-indent";//$NON-NLS-1$
163
	public final static String P_TEXT_INDENT = "text-indent";//$NON-NLS-1$
164
	public final static String P_TEXT_OVERFLOW = "text-overflow"; //$NON-NLS-1$
142
	public final static String P_TEXT_SHADOW = "text-shadow";//$NON-NLS-1$
165
	public final static String P_TEXT_SHADOW = "text-shadow";//$NON-NLS-1$
143
	public final static String P_TEXT_TRANSFORM = "text-transform";//$NON-NLS-1$
166
	public final static String P_TEXT_TRANSFORM = "text-transform";//$NON-NLS-1$
144
	public final static String P_TOP = "top";//$NON-NLS-1$
167
	public final static String P_TOP = "top";//$NON-NLS-1$
(-)src/org/eclipse/wst/css/core/internal/metamodelimpl/ProfileHandler.java (-12 / +21 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2004, 2005 IBM Corporation and others.
2
 * Copyright (c) 2004, 2010 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 32-37 Link Here
32
32
33
class ProfileHandler extends DefaultHandler {
33
class ProfileHandler extends DefaultHandler {
34
34
35
	private StringBuffer fCharacters = null;
36
35
	public ProfileHandler(CSSMetaModelImpl metamodel, ResourceBundle resourceBundle, boolean logging) {
37
	public ProfileHandler(CSSMetaModelImpl metamodel, ResourceBundle resourceBundle, boolean logging) {
36
		super();
38
		super();
37
		fMetaModel = metamodel;
39
		fMetaModel = metamodel;
Lines 150-168 Link Here
150
	}
152
	}
151
153
152
	public void endElement(String uri, String localName, String qName) throws SAXException {
154
	public void endElement(String uri, String localName, String qName) throws SAXException {
153
		fNodeStack.pop();
155
		
154
	}
155
156
	public void characters(char[] ch, int start, int length) throws SAXException {
157
		TagNode tagNode = (TagNode) fNodeStack.peek();
156
		TagNode tagNode = (TagNode) fNodeStack.peek();
157
		CSSMMNodeImpl node = tagNode.node;
158
		String tagName = tagNode.tag;
158
		String tagName = tagNode.tag;
159
		if (tagName.equals(ProfileKeywords.KEYWORD_VALUE) || tagName.equals(ProfileKeywords.UNIT_VALUE) || tagName.equals(ProfileKeywords.FUNCTION_VALUE) || tagName.equals(ProfileKeywords.SELECTOR_VALUE) || tagName.equals(ProfileKeywords.DESCRIPTION) || tagName.equals(ProfileKeywords.CAPTION)) {
159
		if (fCharacters != null && (tagName.equals(ProfileKeywords.KEYWORD_VALUE) || tagName.equals(ProfileKeywords.UNIT_VALUE) || tagName.equals(ProfileKeywords.FUNCTION_VALUE) || tagName.equals(ProfileKeywords.SELECTOR_VALUE) || tagName.equals(ProfileKeywords.DESCRIPTION) || tagName.equals(ProfileKeywords.CAPTION))) {
160
			StringBuffer buf = new StringBuffer(length);
160
			String value = getResourceString(fCharacters.toString().trim());
161
			for (int i = 0; i < length; i++) {
162
				buf.append(ch[start + i]);
163
			}
164
			String value = getResourceString(buf.toString().trim());
165
			CSSMMNodeImpl node = tagNode.node;
166
			if (node != null) {
161
			if (node != null) {
167
				if (node.getType() == CSSMMNode.TYPE_KEYWORD && tagName.equals(ProfileKeywords.KEYWORD_VALUE)) {
162
				if (node.getType() == CSSMMNode.TYPE_KEYWORD && tagName.equals(ProfileKeywords.KEYWORD_VALUE)) {
168
					((CSSMMKeywordImpl) node).setKeywordString(value);
163
					((CSSMMKeywordImpl) node).setKeywordString(value);
Lines 187-192 Link Here
187
				}
182
				}
188
			}
183
			}
189
		}
184
		}
185
		fNodeStack.pop();
186
		fCharacters = null;
187
	}
188
189
	public void characters(char[] ch, int start, int length) throws SAXException {
190
		
191
		TagNode tagNode = (TagNode) fNodeStack.peek();
192
		String tagName = tagNode.tag;
193
		if (tagName.equals(ProfileKeywords.KEYWORD_VALUE) || tagName.equals(ProfileKeywords.UNIT_VALUE) || tagName.equals(ProfileKeywords.FUNCTION_VALUE) || tagName.equals(ProfileKeywords.SELECTOR_VALUE) || tagName.equals(ProfileKeywords.DESCRIPTION) || tagName.equals(ProfileKeywords.CAPTION)) {
194
			if (fCharacters == null) {
195
				fCharacters = new StringBuffer(length);
196
			}
197
			fCharacters.append(ch, start, length);
198
		}
190
	}
199
	}
191
200
192
	private boolean isDefinition(String tagName) {
201
	private boolean isDefinition(String tagName) {
(-)plugin.properties (+2 lines)
Lines 82-84 Link Here
82
82
83
proposalCategory.css=CSS Proposals
83
proposalCategory.css=CSS Proposals
84
proposalCategory.cssTemplates=CSS Template Proposals
84
proposalCategory.cssTemplates=CSS Template Proposals
85
86
proposalInfo.name=Additional Proposal Information
(-)plugin.xml (+2 lines)
Lines 2-7 Link Here
2
<?eclipse version="3.0"?>
2
<?eclipse version="3.0"?>
3
<plugin>
3
<plugin>
4
4
5
	<extension-point id="proposalInfo" name="%proposalInfo.name" schema="schema/proposalInfo.exsd"/>
6
5
	<extension point="org.eclipse.ui.editors">
7
	<extension point="org.eclipse.ui.editors">
6
		<editor
8
		<editor
7
			name="%CSS_Source_Page_Editor.name"
9
			name="%CSS_Source_Page_Editor.name"
(-)schema/proposalInfo.exsd (+107 lines)
Added Link Here
1
<?xml version='1.0' encoding='UTF-8'?>
2
<!-- Schema file written by PDE -->
3
<schema targetNamespace="org.eclipse.wst.css.ui" xmlns="http://www.w3.org/2001/XMLSchema">
4
<annotation>
5
      <appInfo>
6
         <meta.schema plugin="org.eclipse.wst.css.ui" id="proposalInfo" name="CSS Proposal Information"/>
7
      </appInfo>
8
      <documentation>
9
         [Enter description of this extension point.]
10
      </documentation>
11
   </annotation>
12
13
   <element name="extension">
14
      <annotation>
15
         <appInfo>
16
            <meta.element internal="true" />
17
         </appInfo>
18
      </annotation>
19
      <complexType>
20
         <sequence>
21
            <element ref="proposalInfo"/>
22
         </sequence>
23
         <attribute name="point" type="string" use="required">
24
            <annotation>
25
               <documentation>
26
                  
27
               </documentation>
28
            </annotation>
29
         </attribute>
30
         <attribute name="id" type="string">
31
            <annotation>
32
               <documentation>
33
                  
34
               </documentation>
35
            </annotation>
36
         </attribute>
37
         <attribute name="name" type="string">
38
            <annotation>
39
               <documentation>
40
                  
41
               </documentation>
42
               <appInfo>
43
                  <meta.attribute translatable="true"/>
44
               </appInfo>
45
            </annotation>
46
         </attribute>
47
      </complexType>
48
   </element>
49
50
   <element name="proposalInfo">
51
      <annotation>
52
         <documentation>
53
            Additional proposal information for CSS content assist proposals.
54
         </documentation>
55
      </annotation>
56
      <complexType>
57
         <attribute name="class" type="string" use="required">
58
            <annotation>
59
               <documentation>
60
                  Class that implements IProposalInfo that will server as additional proposal information for CSS content assist proposals. The implementation must provide a zero-argument constructor.
61
               </documentation>
62
               <appInfo>
63
                  <meta.attribute kind="java"/>
64
               </appInfo>
65
            </annotation>
66
         </attribute>
67
      </complexType>
68
   </element>
69
70
   <annotation>
71
      <appInfo>
72
         <meta.section type="since"/>
73
      </appInfo>
74
      <documentation>
75
         [Enter the first release in which this extension point appears.]
76
      </documentation>
77
   </annotation>
78
79
   <annotation>
80
      <appInfo>
81
         <meta.section type="examples"/>
82
      </appInfo>
83
      <documentation>
84
         [Enter extension point usage example here.]
85
      </documentation>
86
   </annotation>
87
88
   <annotation>
89
      <appInfo>
90
         <meta.section type="apiinfo"/>
91
      </appInfo>
92
      <documentation>
93
         [Enter API information here.]
94
      </documentation>
95
   </annotation>
96
97
   <annotation>
98
      <appInfo>
99
         <meta.section type="implementation"/>
100
      </appInfo>
101
      <documentation>
102
         [Enter information about supplied implementation of this extension point.]
103
      </documentation>
104
   </annotation>
105
106
107
</schema>
(-)src/org/eclipse/wst/css/ui/internal/contentassist/CSSCACandidate.java (-2 / +11 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2004, 2005 IBM Corporation and others.
2
 * Copyright (c) 2004, 2010 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 12-17 Link Here
12
12
13
13
14
14
15
import org.eclipse.wst.css.core.internal.metamodel.CSSMMNode;
15
import org.eclipse.wst.css.ui.internal.image.CSSImageType;
16
import org.eclipse.wst.css.ui.internal.image.CSSImageType;
16
17
17
class CSSCACandidate {
18
class CSSCACandidate {
Lines 20-26 Link Here
20
	private int fCursorPosition = 0;
21
	private int fCursorPosition = 0;
21
	private String fDisplayString = null;
22
	private String fDisplayString = null;
22
	private CSSImageType fImageType = null;
23
	private CSSImageType fImageType = null;
23
24
	private CSSMMNode fNode = null;
24
	/**
25
	/**
25
	 * CSSCACandidate constructor comment.
26
	 * CSSCACandidate constructor comment.
26
	 */
27
	 */
Lines 56-61 Link Here
56
		return fReplacementString;
57
		return fReplacementString;
57
	}
58
	}
58
59
60
	CSSMMNode getMMNode() {
61
		return fNode;
62
	}
63
59
	/**
64
	/**
60
	 *  
65
	 *  
61
	 */
66
	 */
Lines 84-89 Link Here
84
		fReplacementString = replacementString;
89
		fReplacementString = replacementString;
85
	}
90
	}
86
91
92
	void setMMNode(CSSMMNode node) {
93
		fNode = node;
94
	}
95
87
	/**
96
	/**
88
	 * Returns a String that represents the value of this object.
97
	 * Returns a String that represents the value of this object.
89
	 * 
98
	 * 
(-)src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalArranger.java (-2 / +1 lines)
Lines 16-22 Link Here
16
import java.util.Iterator;
16
import java.util.Iterator;
17
import java.util.List;
17
import java.util.List;
18
18
19
import org.eclipse.jface.text.contentassist.CompletionProposal;
20
import org.eclipse.jface.text.contentassist.ICompletionProposal;
19
import org.eclipse.jface.text.contentassist.ICompletionProposal;
21
import org.eclipse.wst.css.core.internal.parserz.CSSRegionContexts;
20
import org.eclipse.wst.css.core.internal.parserz.CSSRegionContexts;
22
import org.eclipse.wst.css.core.internal.provisional.document.ICSSMediaRule;
21
import org.eclipse.wst.css.core.internal.provisional.document.ICSSMediaRule;
Lines 171-177 Link Here
171
	 */
170
	 */
172
	ICompletionProposal[] getProposals() {
171
	ICompletionProposal[] getProposals() {
173
		buildProposals();
172
		buildProposals();
174
		ICompletionProposal[] proposalArray = new CompletionProposal[fProposals.size()];
173
		ICompletionProposal[] proposalArray = new ICompletionProposal[fProposals.size()];
175
		Iterator iItem = fProposals.iterator();
174
		Iterator iItem = fProposals.iterator();
176
		for (int i = 0; iItem.hasNext(); i++) {
175
		for (int i = 0; iItem.hasNext(); i++) {
177
			proposalArray[i] = (ICompletionProposal) iItem.next();
176
			proposalArray[i] = (ICompletionProposal) iItem.next();
(-)src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGenerator.java (-2 / +1 lines)
Lines 17-23 Link Here
17
import java.util.List;
17
import java.util.List;
18
18
19
import org.eclipse.core.runtime.Preferences;
19
import org.eclipse.core.runtime.Preferences;
20
import org.eclipse.jface.text.contentassist.CompletionProposal;
21
import org.eclipse.jface.text.contentassist.ICompletionProposal;
20
import org.eclipse.jface.text.contentassist.ICompletionProposal;
22
import org.eclipse.swt.graphics.Image;
21
import org.eclipse.swt.graphics.Image;
23
import org.eclipse.wst.css.core.internal.CSSCorePlugin;
22
import org.eclipse.wst.css.core.internal.CSSCorePlugin;
Lines 168-174 Link Here
168
		while (i.hasNext()) {
167
		while (i.hasNext()) {
169
			CSSCACandidate candidate = (CSSCACandidate) i.next();
168
			CSSCACandidate candidate = (CSSCACandidate) i.next();
170
			Image image = imageHelper.getImage(candidate.getImageType());
169
			Image image = imageHelper.getImage(candidate.getImageType());
171
			ICompletionProposal item = new CompletionProposal(candidate.getReplacementString(), fContext.getReplaceBegin() + fContext.getDocumentOffset(), fContext.getTextToReplace().length(), candidate.getCursorPosition(), image, candidate.getDisplayString(), null, null);
170
			ICompletionProposal item = new CompletionProposal(candidate.getReplacementString(), fContext.getReplaceBegin() + fContext.getDocumentOffset(), fContext.getTextToReplace().length(), candidate.getCursorPosition(), image, candidate.getDisplayString(), null, candidate.getDisplayString(), candidate.getMMNode());
172
			proposals.add(item);
171
			proposals.add(item);
173
		}
172
		}
174
173
(-)src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationName.java (+1 lines)
Lines 106-111 Link Here
106
			item.setReplacementString(buf.toString());
106
			item.setReplacementString(buf.toString());
107
			item.setCursorPosition(cursorPos);
107
			item.setCursorPosition(cursorPos);
108
			item.setDisplayString(text);
108
			item.setDisplayString(text);
109
			item.setMMNode(node);
109
			item.setImageType(getCategoryImageType(node));
110
			item.setImageType(getCategoryImageType(node));
110
			candidates.add(item);
111
			candidates.add(item);
111
		}
112
		}
(-)src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationValue.java (-1 / +2 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2004, 2005 IBM Corporation and others.
2
 * Copyright (c) 2004, 2010 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 84-89 Link Here
84
		item.setReplacementString(text);
84
		item.setReplacementString(text);
85
		item.setCursorPosition(cursorPos);
85
		item.setCursorPosition(cursorPos);
86
		item.setDisplayString(text);
86
		item.setDisplayString(text);
87
		item.setMMNode(prop);
87
		item.setImageType(CSSImageType.VALUE_FUNCTION);
88
		item.setImageType(CSSImageType.VALUE_FUNCTION);
88
		appendSemiColon(item);
89
		appendSemiColon(item);
89
		candidates.add(item);
90
		candidates.add(item);
(-)src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForPseudoSelector.java (-4 / +29 lines)
Lines 14-19 Link Here
14
14
15
import java.util.ArrayList;
15
import java.util.ArrayList;
16
import java.util.Collections;
16
import java.util.Collections;
17
import java.util.Comparator;
17
import java.util.Iterator;
18
import java.util.Iterator;
18
import java.util.List;
19
import java.util.List;
19
20
Lines 66-75 Link Here
66
		boolean useUpperCase = CSSCorePlugin.getDefault().getPluginPreferences().getInt(CSSCorePreferenceNames.CASE_IDENTIFIER) == CSSCorePreferenceNames.UPPER;
67
		boolean useUpperCase = CSSCorePlugin.getDefault().getPluginPreferences().getInt(CSSCorePreferenceNames.CASE_IDENTIFIER) == CSSCorePreferenceNames.UPPER;
67
68
68
		List tags = getSelectorTags();
69
		List tags = getSelectorTags();
69
		Collections.sort(tags);
70
		Collections.sort(tags, new Comparator() {
71
			/* (non-Javadoc)
72
			 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
73
			 */
74
			public int compare(Object o1, Object o2) {
75
				return clean(((CSSMMSelector) o1).getName()).compareTo(clean(((CSSMMSelector) o2).getName()));
76
			}
77
78
			private String clean(String str) {
79
				int length = str.length();
80
				for (int i = 0; i < length; i++) {
81
					if (str.charAt(i) != ':') {
82
						return str.substring(i);
83
					}
84
				}
85
				return str;
86
			}
87
		});
88
70
		Iterator i = tags.iterator();
89
		Iterator i = tags.iterator();
71
		while (i.hasNext()) {
90
		while (i.hasNext()) {
72
			String text = (String) i.next();
91
			CSSMMSelector selector = (CSSMMSelector) i.next();
92
			String text = selector.getSelectorString();
73
			if (hasLeadingColon && !isMatch(text)) {
93
			if (hasLeadingColon && !isMatch(text)) {
74
				continue;
94
				continue;
75
			}
95
			}
Lines 83-90 Link Here
83
			
103
			
84
			buf.append(text);
104
			buf.append(text);
85
			cursorPos += buf.length();
105
			cursorPos += buf.length();
86
106
			
87
			if (0 < buf.length()) {
107
			if (0 < buf.length()) {
108
				// Pseudoclass/element takes arguments
109
				if (buf.charAt(buf.length() - 1) == ')') {
110
					--cursorPos;
111
				}
88
				boolean inRule = (fContext.getTargetNode() instanceof ICSSStyleRule || fContext.getTargetNode() instanceof ICSSPageRule);
112
				boolean inRule = (fContext.getTargetNode() instanceof ICSSStyleRule || fContext.getTargetNode() instanceof ICSSPageRule);
89
				if (!inRule || (textToReplace.length() == 0 && !hasLeadingColon)) {
113
				if (!inRule || (textToReplace.length() == 0 && !hasLeadingColon)) {
90
					buf.append(" ");//$NON-NLS-1$
114
					buf.append(" ");//$NON-NLS-1$
Lines 100-105 Link Here
100
				item.setCursorPosition(cursorPos);
124
				item.setCursorPosition(cursorPos);
101
				item.setDisplayString(text);
125
				item.setDisplayString(text);
102
				item.setImageType(CSSImageType.SELECTOR_PSEUDO);
126
				item.setImageType(CSSImageType.SELECTOR_PSEUDO);
127
				item.setMMNode(selector);
103
				candidates.add(item);
128
				candidates.add(item);
104
			}
129
			}
105
		}
130
		}
Lines 130-136 Link Here
130
			if (child.getType() == CSSMMNode.TYPE_SELECTOR) {
155
			if (child.getType() == CSSMMNode.TYPE_SELECTOR) {
131
				String selType = ((CSSMMSelector) child).getSelectorType();
156
				String selType = ((CSSMMSelector) child).getSelectorType();
132
				if (selType == CSSMMSelector.TYPE_PSEUDO_CLASS || selType == CSSMMSelector.TYPE_PSEUDO_ELEMENT) {
157
				if (selType == CSSMMSelector.TYPE_PSEUDO_CLASS || selType == CSSMMSelector.TYPE_PSEUDO_ELEMENT) {
133
					tagList.add(((CSSMMSelector) child).getSelectorString());
158
					tagList.add(child);
134
				}
159
				}
135
			}
160
			}
136
		}
161
		}
(-)src/org/eclipse/wst/css/ui/internal/contentassist/CompletionProposal.java (+188 lines)
Added Link Here
1
/******************************************************************************
2
 * Copyright (c) 2010 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *     IBM Corporation - initial API and implementation
10
 ******************************************************************************/
11
package org.eclipse.wst.css.ui.internal.contentassist;
12
13
import org.eclipse.core.runtime.Assert;
14
import org.eclipse.core.runtime.IProgressMonitor;
15
import org.eclipse.jface.internal.text.html.BrowserInformationControl;
16
import org.eclipse.jface.resource.JFaceResources;
17
import org.eclipse.jface.text.AbstractReusableInformationControlCreator;
18
import org.eclipse.jface.text.BadLocationException;
19
import org.eclipse.jface.text.DefaultInformationControl;
20
import org.eclipse.jface.text.IDocument;
21
import org.eclipse.jface.text.IInformationControl;
22
import org.eclipse.jface.text.IInformationControlCreator;
23
import org.eclipse.jface.text.contentassist.ICompletionProposal;
24
import org.eclipse.jface.text.contentassist.ICompletionProposalExtension3;
25
import org.eclipse.jface.text.contentassist.ICompletionProposalExtension5;
26
import org.eclipse.jface.text.contentassist.IContextInformation;
27
import org.eclipse.swt.graphics.Image;
28
import org.eclipse.swt.graphics.Point;
29
import org.eclipse.swt.widgets.Shell;
30
import org.eclipse.wst.css.core.internal.metamodel.CSSMMNode;
31
32
public class CompletionProposal implements ICompletionProposal, ICompletionProposalExtension3, ICompletionProposalExtension5 {
33
34
	/** The string to be displayed in the completion proposal popup. */
35
	private String fDisplayString;
36
	/** The replacement string. */
37
	private String fReplacementString;
38
	/** The replacement offset. */
39
	private int fReplacementOffset;
40
	/** The replacement length. */
41
	private int fReplacementLength;
42
	/** The cursor position after this proposal has been applied. */
43
	private int fCursorPosition;
44
	/** The image to be displayed in the completion proposal popup. */
45
	private Image fImage;
46
	/** The context information of this proposal. */
47
	private IContextInformation fContextInformation;
48
	/** The additional info of this proposal. */
49
	private String fAdditionalProposalInfo;
50
	private CSSMMNode fNode;
51
	/** The information control creator */
52
	private IInformationControlCreator fCreator;
53
54
	/**
55
	 * Creates a new completion proposal based on the provided information. The replacement string is
56
	 * considered being the display string too. All remaining fields are set to <code>null</code>.
57
	 *
58
	 * @param replacementString the actual string to be inserted into the document
59
	 * @param replacementOffset the offset of the text to be replaced
60
	 * @param replacementLength the length of the text to be replaced
61
	 * @param cursorPosition the position of the cursor following the insert relative to replacementOffset
62
	 */
63
	public CompletionProposal(String replacementString, int replacementOffset, int replacementLength, int cursorPosition) {
64
		this(replacementString, replacementOffset, replacementLength, cursorPosition, null, null, null, null);
65
	}
66
67
	/**
68
	 * Creates a new completion proposal. All fields are initialized based on the provided information.
69
	 *
70
	 * @param replacementString the actual string to be inserted into the document
71
	 * @param replacementOffset the offset of the text to be replaced
72
	 * @param replacementLength the length of the text to be replaced
73
	 * @param cursorPosition the position of the cursor following the insert relative to replacementOffset
74
	 * @param image the image to display for this proposal
75
	 * @param displayString the string to be displayed for the proposal
76
	 * @param contextInformation the context information associated with this proposal
77
	 * @param additionalProposalInfo the additional information associated with this proposal
78
	 */
79
	public CompletionProposal(String replacementString, int replacementOffset, int replacementLength, int cursorPosition, Image image, String displayString, IContextInformation contextInformation, String additionalProposalInfo) {
80
		this(replacementString, replacementOffset, replacementLength, cursorPosition, null, null, null, null, null);
81
	}
82
83
	public CompletionProposal(String replacementString, int replacementOffset, int replacementLength, int cursorPosition, Image image, String displayString, IContextInformation contextInformation, String additionalProposalInfo, CSSMMNode node) {
84
		Assert.isNotNull(replacementString);
85
		Assert.isTrue(replacementOffset >= 0);
86
		Assert.isTrue(replacementLength >= 0);
87
		Assert.isTrue(cursorPosition >= 0);
88
89
		fReplacementString= replacementString;
90
		fReplacementOffset= replacementOffset;
91
		fReplacementLength= replacementLength;
92
		fCursorPosition= cursorPosition;
93
		fImage= image;
94
		fDisplayString= displayString;
95
		fContextInformation= contextInformation;
96
		fAdditionalProposalInfo= additionalProposalInfo;
97
		fNode = node;
98
	}
99
	/*
100
	 * @see ICompletionProposal#apply(IDocument)
101
	 */
102
	public void apply(IDocument document) {
103
		try {
104
			document.replace(fReplacementOffset, fReplacementLength, fReplacementString);
105
		} catch (BadLocationException x) {
106
			// ignore
107
		}
108
	}
109
110
	/*
111
	 * @see ICompletionProposal#getSelection(IDocument)
112
	 */
113
	public Point getSelection(IDocument document) {
114
		return new Point(fReplacementOffset + fCursorPosition, 0);
115
	}
116
117
	/*
118
	 * @see ICompletionProposal#getContextInformation()
119
	 */
120
	public IContextInformation getContextInformation() {
121
		return fContextInformation;
122
	}
123
124
	/*
125
	 * @see ICompletionProposal#getImage()
126
	 */
127
	public Image getImage() {
128
		return fImage;
129
	}
130
131
	/*
132
	 * @see ICompletionProposal#getDisplayString()
133
	 */
134
	public String getDisplayString() {
135
		if (fDisplayString != null)
136
			return fDisplayString;
137
		return fReplacementString;
138
	}
139
140
	/*
141
	 * @see ICompletionProposal#getAdditionalProposalInfo()
142
	 */
143
	public String getAdditionalProposalInfo() {
144
		return fAdditionalProposalInfo;
145
	}
146
147
	/* (non-Javadoc)
148
	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension5#getAdditionalProposalInfo(org.eclipse.core.runtime.IProgressMonitor)
149
	 */
150
	public Object getAdditionalProposalInfo(IProgressMonitor monitor) {
151
		return ProposalInfoFactory.getProposalInfo(fNode);
152
	}
153
154
	/* (non-Javadoc)
155
	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension3#getInformationControlCreator()
156
	 */
157
	public IInformationControlCreator getInformationControlCreator() {
158
		if (fCreator == null) {
159
			fCreator = new AbstractReusableInformationControlCreator() {
160
161
				protected IInformationControl doCreateInformationControl(Shell parent) {
162
					if (BrowserInformationControl.isAvailable(parent)) {
163
						BrowserInformationControl control = new BrowserInformationControl(parent, JFaceResources.DIALOG_FONT, false);
164
						return control;
165
					} else {
166
						return new DefaultInformationControl(parent, true);
167
					}
168
				}
169
			};
170
		}
171
		return fCreator;
172
	}
173
174
	/* (non-Javadoc)
175
	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension3#getPrefixCompletionText(org.eclipse.jface.text.IDocument, int)
176
	 */
177
	public CharSequence getPrefixCompletionText(IDocument document, int completionOffset) {
178
		return null;
179
	}
180
181
	/* (non-Javadoc)
182
	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension3#getPrefixCompletionStart(org.eclipse.jface.text.IDocument, int)
183
	 */
184
	public int getPrefixCompletionStart(IDocument document, int completionOffset) {
185
		return 0;
186
	}
187
188
}
(-)src/org/eclipse/wst/css/ui/internal/contentassist/IProposalInfo.java (+25 lines)
Added Link Here
1
/******************************************************************************
2
 * Copyright (c) 2010 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *     IBM Corporation - initial API and implementation
10
 ******************************************************************************/
11
package org.eclipse.wst.css.ui.internal.contentassist;
12
13
import org.eclipse.wst.css.core.internal.metamodel.CSSMMNode;
14
15
/**
16
 * Interface for additional proposal information for CSS Content Assist
17
 *
18
 */
19
public interface IProposalInfo {
20
	/**
21
	 * Sets the element for additional proposal information
22
	 * @param node the element for additional proposal information
23
	 */
24
	void setInputElement(CSSMMNode node);
25
}
(-)src/org/eclipse/wst/css/ui/internal/contentassist/ProposalInfoFactory.java (+66 lines)
Added Link Here
1
/******************************************************************************
2
 * Copyright (c) 2010 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *     IBM Corporation - initial API and implementation
10
 ******************************************************************************/
11
package org.eclipse.wst.css.ui.internal.contentassist;
12
13
import org.eclipse.core.runtime.CoreException;
14
import org.eclipse.core.runtime.IConfigurationElement;
15
import org.eclipse.core.runtime.Platform;
16
import org.eclipse.wst.css.core.internal.metamodel.CSSMMNode;
17
import org.eclipse.wst.css.ui.internal.CSSUIPlugin;
18
import org.eclipse.wst.css.ui.internal.Logger;
19
20
/**
21
 * Generates proposal information for {@link CSSMMNode}s. If the Proposal Information instance
22
 * implements {@link IProposalInfo} the node will be set as the input element.
23
 * 
24
 */
25
class ProposalInfoFactory {
26
27
	private static IConfigurationElement fElement = null;
28
	private static boolean fIsInitialized = false;
29
30
	private static final String ATTR_CLASS = "class"; //$NON-NLS-1$
31
32
	private ProposalInfoFactory() {
33
	}
34
35
	/**
36
	 * Returns additional proposal information for <code>node</code>
37
	 * @param node the CSS metamodel node
38
	 * @return additional proposal information about <code>node></code>
39
	 */
40
	public static synchronized Object getProposalInfo(CSSMMNode node) {
41
		Object info = null;
42
		if (!fIsInitialized) {
43
			// Only attempt to initialize this once. If there are no proposal information providers, we'll always return null
44
			IConfigurationElement[] elements = Platform.getExtensionRegistry().getConfigurationElementsFor(CSSUIPlugin.ID, "proposalInfo"); //$NON-NLS-1$
45
			if (elements.length > 0) {
46
				// Get the first proposal info that's declared
47
				fElement = elements[0];
48
			}
49
	
50
			fIsInitialized = true;
51
		}
52
53
		if (fElement != null) {
54
			try {
55
				info = fElement.createExecutableExtension(ATTR_CLASS); //$NON-NLS-1$
56
				if (info instanceof IProposalInfo) {
57
					((IProposalInfo) info).setInputElement(node);
58
				}
59
			} catch (CoreException e) {
60
				Logger.log(Logger.ERROR, "Could not create instance for proposalInfo [" + fElement.getAttribute("class") + "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
61
			}
62
		}
63
		return info;
64
	}
65
66
}
(-)plugin.xml (+6 lines)
Lines 5-8 Link Here
5
		<provisionalConfiguration
5
		<provisionalConfiguration
6
			type="sourceReconcilingListener" target="org.eclipse.wst.css.core.csssource" class="org.eclipse.wst.css.ui.tests.viewer.CSSCodeFoldingTest"/>
6
			type="sourceReconcilingListener" target="org.eclipse.wst.css.core.csssource" class="org.eclipse.wst.css.ui.tests.viewer.CSSCodeFoldingTest"/>
7
	</extension>
7
	</extension>
8
	<extension
9
	      point="org.eclipse.wst.css.ui.proposalInfo">
10
    <proposalInfo
11
          class="org.eclipse.wst.css.ui.tests.contentassist.ProposalInfo">
12
    </proposalInfo>
13
	</extension>
8
</plugin>
14
</plugin>
(-)src/org/eclipse/wst/css/ui/tests/contentassist/ProposalInfo.java (+43 lines)
Added Link Here
1
/******************************************************************************
2
 * Copyright (c) 2010 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *     IBM Corporation - initial API and implementation
10
 ******************************************************************************/
11
package org.eclipse.wst.css.ui.tests.contentassist;
12
13
import org.eclipse.jface.internal.text.html.BrowserInformationControlInput;
14
import org.eclipse.wst.css.core.internal.metamodel.CSSMMNode;
15
import org.eclipse.wst.css.ui.internal.contentassist.IProposalInfo;
16
17
public class ProposalInfo extends BrowserInformationControlInput implements IProposalInfo {
18
19
	private CSSMMNode fNode;
20
21
	public ProposalInfo() {
22
		super(null);
23
	}
24
25
	public Object getInputElement() {
26
		return fNode;
27
	}
28
	/* (non-Javadoc)
29
	 * @see org.eclipse.wst.css.ui.internal.contentassist.IProposalInfo#setInputElement(org.eclipse.wst.css.core.internal.metamodel.CSSMMNode)
30
	 */
31
	public void setInputElement(CSSMMNode node) {
32
		fNode = node;
33
	}
34
35
	public String getHtml() {
36
		return null;//fNode != null ?  "<b>" + fNode.getName() + "</b>" : "";
37
	}
38
39
	public String getInputName() {
40
		return fNode != null ? fNode.getName() : "";
41
	}
42
43
}
(-)src/org/eclipse/wst/css/ui/tests/contentassist/TestCSSContentAssistComputers.java (-2 / +21 lines)
Lines 28-33 Link Here
28
import org.eclipse.jface.text.IDocument;
28
import org.eclipse.jface.text.IDocument;
29
import org.eclipse.jface.text.contentassist.ContentAssistant;
29
import org.eclipse.jface.text.contentassist.ContentAssistant;
30
import org.eclipse.jface.text.contentassist.ICompletionProposal;
30
import org.eclipse.jface.text.contentassist.ICompletionProposal;
31
import org.eclipse.jface.text.contentassist.ICompletionProposalExtension5;
31
import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
32
import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
32
import org.eclipse.ui.IEditorPart;
33
import org.eclipse.ui.IEditorPart;
33
import org.eclipse.ui.IWorkbenchPage;
34
import org.eclipse.ui.IWorkbenchPage;
Lines 134-140 Link Here
134
		int[] expectedProposalCounts = new int[] {4, 0, 4, 4};
135
		int[] expectedProposalCounts = new int[] {4, 0, 4, 4};
135
		runProposalTest("test4.css", 7, 23, expectedProposalCounts);
136
		runProposalTest("test4.css", 7, 23, expectedProposalCounts);
136
	}
137
	}
137
	
138
139
	public void testAdditionalProposalInfo() throws Exception {
140
		IFile file = getFile("test4.css");
141
		StructuredTextEditor editor = getEditor(file);
142
		StructuredTextViewer viewer = editor.getTextViewer();
143
		int offset = viewer.getDocument().getLineLength(7) + 23;
144
		ICompletionProposal[][] pages = getProposals(viewer, offset, 4);
145
		
146
		assertTrue("Not enough pages", pages.length > 0);
147
		ICompletionProposal[] proposals = pages[0];
148
		for (int i = 0; i < proposals.length; i++) {
149
			if (proposals[i] instanceof ICompletionProposalExtension5) {
150
				Object obj = ((ICompletionProposalExtension5) proposals[i]).getAdditionalProposalInfo(null);
151
				assertTrue("Additional info must be of type ProposalInfo", obj instanceof ProposalInfo);
152
				ProposalInfo info = (ProposalInfo) obj;
153
				assertNotNull("CSSMMNode for Proposal Info should not be null", info);
154
			}
155
		}
156
	}
138
	/**
157
	/**
139
	 * <p>Run a proposal test by opening the given file and invoking content assist for
158
	 * <p>Run a proposal test by opening the given file and invoking content assist for
140
	 * each expected proposal count at the given line number and line character
159
	 * each expected proposal count at the given line number and line character
Lines 213-219 Link Here
213
	private static void verifyProposalCounts(ICompletionProposal[][] pages, int[] expectedProposalCounts) {
232
	private static void verifyProposalCounts(ICompletionProposal[][] pages, int[] expectedProposalCounts) {
214
		StringBuffer error = new StringBuffer();
233
		StringBuffer error = new StringBuffer();
215
		for(int page = 0; page < expectedProposalCounts.length; ++page) {
234
		for(int page = 0; page < expectedProposalCounts.length; ++page) {
216
			if(expectedProposalCounts[page] != pages[page].length) {
235
			if(expectedProposalCounts[page] > pages[page].length) {
217
				error.append("\nProposal page " + page + " did not have the expected number of proposals: was " +
236
				error.append("\nProposal page " + page + " did not have the expected number of proposals: was " +
218
						pages[page].length + " expected " + expectedProposalCounts[page]);
237
						pages[page].length + " expected " + expectedProposalCounts[page]);
219
			}
238
			}
(-)src/org/eclipse/wst/html/ui/tests/contentassist/TestEmbededCSSContentAssistComputers.java (-1 / +1 lines)
Lines 255-261 Link Here
255
	private static void verifyProposalCounts(ICompletionProposal[][] pages, int[] expectedProposalCounts) {
255
	private static void verifyProposalCounts(ICompletionProposal[][] pages, int[] expectedProposalCounts) {
256
		StringBuffer error = new StringBuffer();
256
		StringBuffer error = new StringBuffer();
257
		for(int page = 0; page < expectedProposalCounts.length; ++page) {
257
		for(int page = 0; page < expectedProposalCounts.length; ++page) {
258
			if(expectedProposalCounts[page] != pages[page].length) {
258
			if(expectedProposalCounts[page] > pages[page].length) {
259
				error.append("\nProposal page " + page + " did not have the expected number of proposals: was " +
259
				error.append("\nProposal page " + page + " did not have the expected number of proposals: was " +
260
						pages[page].length + " expected " + expectedProposalCounts[page]);
260
						pages[page].length + " expected " + expectedProposalCounts[page]);
261
			}
261
			}
(-)DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.jflex (-1 / +1 lines)
Lines 418-424 Link Here
418
	"*" { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_UNIVERSAL; }
418
	"*" { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_UNIVERSAL; }
419
	{hash} { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_ID; }
419
	{hash} { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_ID; }
420
//	":"{ident}("("{s}*{ident}{s}*")")? { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_PSEUDO; }
420
//	":"{ident}("("{s}*{ident}{s}*")")? { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_PSEUDO; }
421
	":"({ident}("("{s}*{ident}{s}*")")?)? { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_PSEUDO; }
421
	":"({ident}("("{s}*([a-zA-Z0-9]|[-+]|{s})*{s}*")")?)? { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_PSEUDO; }
422
	"."{name} { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_CLASS; }
422
	"."{name} { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_CLASS; }
423
	"[" { yybegin(ST_SELECTOR_ATTRIBUTE_NAME); return CSS_SELECTOR_ATTRIBUTE_START; }
423
	"[" { yybegin(ST_SELECTOR_ATTRIBUTE_NAME); return CSS_SELECTOR_ATTRIBUTE_START; }
424
}
424
}

Return to bug 324731