blob: 13d2d979d21c31ab17152d782e050f4427c71611 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
package Editor {
abstract class LocatedElement {
attribute location : String;
}
class Editor extends LocatedElement {
attribute extension : String;
reference block[*] container : Block oppositeOf editor;
reference group[*] container : GroupElement oppositeOf editor;
}
class Block extends LocatedElement {
attribute type : String;
attribute blockbegin : String;
attribute blockend : String;
attribute esc[0-1] : String;
reference editor : Editor oppositeOf block;
reference format[0-1] container : Format oppositeOf blockFormat;
}
class GroupElement extends LocatedElement {
attribute type : String;
reference editor : Editor oppositeOf group;
reference indent[0-1] container : Indent oppositeOf groupElementIndent;
reference format[0-1] container : Format oppositeOf groupElementFormat;
reference element[*] container : Element oppositeOf groupElement;
}
class Element extends LocatedElement {
attribute element : String;
reference groupElement : GroupElement oppositeOf element;
}
class Format extends LocatedElement {
reference color[0-1] container : Color oppositeOf format;
reference font[0-1] container : Font oppositeOf format;
reference groupElementFormat : GroupElement oppositeOf format;
reference blockFormat : Block oppositeOf format;
}
class Color extends LocatedElement {
attribute red : Integer;
attribute green : Integer;
attribute blue : Integer;
reference format : Format oppositeOf color;
}
class Font extends LocatedElement {
attribute font : String;
attribute bold : Boolean;
attribute italic : Boolean;
reference format : Format oppositeOf font;
}
class Indent extends LocatedElement {
attribute retrait : String;
reference groupElementIndent : GroupElement oppositeOf indent;
}
}
package PrimitiveTypes {
datatype String;
datatype Integer;
datatype Boolean;
}
|