Statistics
| Revision:

root / branches / modelio3.7.x / src / main / conf / bin / rev-modele.xsd @ 442

History | View | Annotate | Download (37.3 KB)

1 347 chm
<?xml version="1.0" encoding="utf-8" ?>
2
<xs:schema xmlns="http://www.modeliosoft.com/rev-modele.xsd" xmlns:wmh="http://www.wmhelp.com/2003/eGenerator" elementFormDefault="qualified" targetNamespace="http://www.modeliosoft.com/rev-modele.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
3
  <xs:element name="association-end">
4
    <xs:annotation>
5
      <xs:documentation> Copyright SOFTEAM 2003 - 2012 </xs:documentation>
6
    </xs:annotation>
7
    <xs:complexType>
8
      <xs:choice minOccurs="0" maxOccurs="unbounded">
9
        <xs:element ref="base-type" />
10
        <xs:element ref="class-type" />
11
        <xs:element ref="note" />
12
        <xs:element ref="stereotype" />
13
        <xs:element ref="tagged-value" />
14
        <xs:element ref="constraint" />
15
        <xs:element ref="value" />
16
        <xs:element ref="attribute" />
17
      </xs:choice>
18
      <xs:attribute name="name" type="xs:string" use="required" />
19
      <xs:attribute name="multiplicity-min" type="xs:string" />
20
      <xs:attribute name="multiplicity-max" type="xs:string" />
21
      <xs:attribute name="aggregation">
22
        <xs:simpleType>
23
          <xs:restriction base="xs:NMTOKEN">
24
            <xs:enumeration value="KindIsAssociation" />
25
            <xs:enumeration value="KindIsAggregation" />
26
            <xs:enumeration value="KindIsComposition" />
27
          </xs:restriction>
28
        </xs:simpleType>
29
      </xs:attribute>
30
      <xs:attribute name="is-ordered" type="xs:boolean" />
31
      <xs:attribute name="is-navigable" type="xs:boolean" />
32
      <xs:attribute name="is-changeable" type="xs:boolean" />
33
      <xs:attribute name="changeable">
34
        <xs:simpleType>
35
          <xs:restriction base="xs:NMTOKEN">
36
            <xs:enumeration value="Read" />
37
            <xs:enumeration value="Write" />
38
            <xs:enumeration value="ReadWrite" />
39
            <xs:enumeration value="AccessNone" />
40
          </xs:restriction>
41
        </xs:simpleType>
42
      </xs:attribute>
43
      <xs:attribute name="is-abstract" type="xs:boolean" />
44
      <xs:attribute name="is-class" type="xs:boolean" />
45
      <xs:attribute name="visibility">
46
        <xs:simpleType>
47
          <xs:restriction base="xs:NMTOKEN">
48
            <xs:enumeration value="Public" />
49
            <xs:enumeration value="Protected" />
50
            <xs:enumeration value="Private" />
51
            <xs:enumeration value="Visibility_Undefined" />
52
            <xs:enumeration value="Package_Visibility" />
53
          </xs:restriction>
54
        </xs:simpleType>
55
      </xs:attribute>
56
      <xs:attribute name="id" type="xs:string" />
57
      <xs:attribute name="refid" type="xs:string" />
58
      <xs:attribute name="objid" type="xs:string" />
59
    </xs:complexType>
60
  </xs:element>
61
  <xs:element name="attribute">
62
    <xs:annotation>
63
      <xs:documentation> Metaclass Attribute </xs:documentation>
64
    </xs:annotation>
65
    <xs:complexType>
66
      <xs:choice minOccurs="0" maxOccurs="unbounded">
67
        <xs:element ref="value" />
68
        <xs:element ref="base-type" />
69
        <xs:element ref="class-type" />
70
        <xs:element ref="note" />
71
        <xs:element ref="constraint" />
72
        <xs:element ref="stereotype" />
73
        <xs:element ref="tagged-value" />
74
      </xs:choice>
75
      <xs:attribute name="name" type="xs:string" use="required" />
76
      <xs:attribute name="is-derived" type="xs:boolean" />
77
      <xs:attribute name="is-set" type="xs:boolean" />
78
      <xs:attribute name="multiplicity" type="xs:string" />
79
      <xs:attribute name="type-constraint" type="xs:string" />
80
      <xs:attribute name="changeable">
81
        <xs:simpleType>
82
          <xs:restriction base="xs:NMTOKEN">
83
            <xs:enumeration value="Read" />
84
            <xs:enumeration value="Write" />
85
            <xs:enumeration value="ReadWrite" />
86
            <xs:enumeration value="AccessNone" />
87
          </xs:restriction>
88
        </xs:simpleType>
89
      </xs:attribute>
90
      <xs:attribute name="target-is-class" type="xs:boolean" />
91
      <xs:attribute name="is-abstract" type="xs:boolean" />
92
      <xs:attribute name="is-class" type="xs:boolean" />
93
      <xs:attribute name="visibility">
94
        <xs:simpleType>
95
          <xs:restriction base="xs:NMTOKEN">
96
            <xs:enumeration value="Public" />
97
            <xs:enumeration value="Protected" />
98
            <xs:enumeration value="Private" />
99
            <xs:enumeration value="Visibility_Undefined" />
100
            <xs:enumeration value="Package_Visibility" />
101
          </xs:restriction>
102
        </xs:simpleType>
103
      </xs:attribute>
104
      <xs:attribute name="id" type="xs:string" />
105
      <xs:attribute name="refid" type="xs:string" />
106
      <xs:attribute name="objid" type="xs:string" />
107
    </xs:complexType>
108
  </xs:element>
109
  <xs:element name="base-type" type="xs:string">
110
    <xs:annotation>
111
      <xs:documentation> Element describing a native type of the reversed language </xs:documentation>
112
    </xs:annotation>
113
  </xs:element>
114
  <xs:element name="class">
115
    <xs:annotation>
116
      <xs:documentation> Metaclass Class </xs:documentation>
117
    </xs:annotation>
118
    <xs:complexType>
119
      <xs:choice minOccurs="0" maxOccurs="unbounded">
120
        <xs:element ref="class" />
121
        <xs:element ref="interface" />
122
        <xs:element ref="instance" />
123
        <xs:element ref="signal" />
124
        <xs:element ref="data-type" />
125
        <xs:element ref="enumeration" />
126
        <xs:element ref="template-parameter" />
127
        <xs:element ref="generalization" />
128
        <xs:element ref="use" />
129
        <xs:element ref="element-import" />
130
        <xs:element ref="package-import" />
131
        <xs:element ref="realization" />
132
        <xs:element ref="operation" />
133
        <xs:element ref="attribute" />
134
        <xs:element ref="association-end" />
135
        <xs:element ref="note" />
136
        <xs:element ref="constraint" />
137
        <xs:element ref="stereotype" />
138
        <xs:element ref="tagged-value" />
139
      </xs:choice>
140
      <xs:attribute name="name" type="xs:string" use="required" />
141
      <xs:attribute name="is-main" type="xs:boolean" />
142
      <xs:attribute name="is-active" type="xs:boolean" />
143
      <xs:attribute name="is-abstract" type="xs:boolean" />
144
      <xs:attribute name="is-leaf" type="xs:boolean" />
145
      <xs:attribute name="visibility">
146
        <xs:simpleType>
147
          <xs:restriction base="xs:NMTOKEN">
148
            <xs:enumeration value="Public" />
149
            <xs:enumeration value="Protected" />
150
            <xs:enumeration value="Private" />
151
            <xs:enumeration value="Visibility_Undefined" />
152
            <xs:enumeration value="Package_Visibility" />
153
          </xs:restriction>
154
        </xs:simpleType>
155
      </xs:attribute>
156
      <xs:attribute name="is-elementary" type="xs:boolean" />
157
      <xs:attribute name="id" type="xs:string" />
158
      <xs:attribute name="refid" type="xs:string" />
159
      <xs:attribute name="objid" type="xs:string" />
160
    </xs:complexType>
161
  </xs:element>
162
  <xs:element name="class-type">
163
    <xs:annotation>
164
      <xs:documentation> Element describing the type of an UML element when this type is a class.
165
	 The destination element designates the path of the class in the model.
166
	 Its value is the complete name of the class including the name spacing. </xs:documentation>
167
    </xs:annotation>
168
    <xs:complexType>
169
      <xs:sequence>
170
        <xs:element ref="destination" />
171
      </xs:sequence>
172
    </xs:complexType>
173
  </xs:element>
174
  <xs:element name="constraint">
175
    <xs:annotation>
176
      <xs:documentation> Metaclass Constraint
177
     The PCDATA field holds the constraint contents. </xs:documentation>
178
    </xs:annotation>
179
    <xs:complexType mixed="true">
180
      <xs:choice minOccurs="0" maxOccurs="unbounded">
181
        <xs:element ref="note" />
182
        <xs:element ref="stereotype" />
183
        <xs:element ref="tagged-value" />
184
      </xs:choice>
185
      <xs:attribute name="name" type="xs:string" use="required" />
186
    </xs:complexType>
187
  </xs:element>
188
  <xs:element name="content" type="xs:string">
189
    <xs:annotation>
190
      <xs:documentation> Element represents the content of a note </xs:documentation>
191
    </xs:annotation>
192
  </xs:element>
193
  <xs:element name="data-type">
194
    <xs:annotation>
195
      <xs:documentation> Metaclass DataType </xs:documentation>
196
    </xs:annotation>
197
    <xs:complexType>
198
      <xs:choice minOccurs="0" maxOccurs="unbounded">
199
        <xs:element ref="operation" />
200
        <xs:element ref="template-binding" />
201
        <xs:element ref="template-parameter" />
202
        <xs:element ref="generalization" />
203
        <xs:element ref="use" />
204
        <xs:element ref="element-import" />
205
        <xs:element ref="package-import" />
206
        <xs:element ref="realization" />
207
        <xs:element ref="attribute" />
208
        <xs:element ref="association-end" />
209
        <xs:element ref="note" />
210
        <xs:element ref="constraint" />
211
        <xs:element ref="stereotype" />
212
        <xs:element ref="tagged-value" />
213
      </xs:choice>
214
      <xs:attribute name="name" type="xs:string" use="required" />
215
      <xs:attribute name="is-abstract" type="xs:boolean" />
216
      <xs:attribute name="is-leaf" type="xs:boolean" />
217
      <xs:attribute name="visibility">
218
        <xs:simpleType>
219
          <xs:restriction base="xs:NMTOKEN">
220
            <xs:enumeration value="Public" />
221
            <xs:enumeration value="Protected" />
222
            <xs:enumeration value="Private" />
223
            <xs:enumeration value="Visibility_Undefined" />
224
            <xs:enumeration value="Package_Visibility" />
225
          </xs:restriction>
226
        </xs:simpleType>
227
      </xs:attribute>
228
      <xs:attribute name="is-elementary" type="xs:boolean" />
229
      <xs:attribute name="id" type="xs:string" />
230
      <xs:attribute name="refid" type="xs:string" />
231
      <xs:attribute name="objid" type="xs:string" />
232
    </xs:complexType>
233
  </xs:element>
234
  <xs:element name="default-value" type="xs:string">
235
    <xs:annotation>
236
      <xs:documentation> Property DefaultValue </xs:documentation>
237
    </xs:annotation>
238
  </xs:element>
239
  <xs:element name="destination">
240
    <xs:annotation>
241
      <xs:documentation> Element used to designate an element in the model using its unambiguous complete path in the model </xs:documentation>
242
    </xs:annotation>
243
    <xs:complexType>
244
      <xs:attribute name="package" type="xs:string" />
245
      <xs:attribute name="class" type="xs:string" />
246
      <xs:attribute name="template-parameter" type="xs:string" />
247
      <xs:attribute name="feature" type="xs:string" />
248
      <xs:attribute name="parameter" type="xs:string" />
249
      <xs:attribute name="refid" type="xs:string" />
250
    </xs:complexType>
251
  </xs:element>
252
  <xs:element name="dir">
253
    <xs:annotation>
254
      <xs:documentation> Element defining a directory
255
	 A dir element contains the name of the directory.
256
	 Used in:model.
257
258
	 Example:
259
	 Files :
260
	 dir1/dir2/file1
261
	 dir1/dir2/file2
262
	 dir1/dir3/file3
263
264
	 XML representation:
265
	 &lt;dir name="dir1"&gt;
266
		&lt;dir name="dir2"&gt;
267
			&lt;group name"file1"&gt;
268
				...
269
			&lt;/group&gt;
270
			&lt;group name"file2"&gt;
271
				...
272
			&lt;/group&gt;
273
		&lt;/dir&gt;
274
		&lt;dir name="dir3"&gt;
275
			&lt;group name"file3"&gt;
276
				...
277
			&lt;/group&gt;
278
		&lt;/dir&gt;
279
	 &lt;/dir&gt;</xs:documentation>
280
    </xs:annotation>
281
    <xs:complexType>
282
      <xs:choice minOccurs="0" maxOccurs="unbounded">
283
        <xs:element ref="dir" />
284
        <xs:element ref="group" />
285
      </xs:choice>
286
      <xs:attribute name="name" type="xs:string" />
287
    </xs:complexType>
288
  </xs:element>
289
  <xs:element name="element-import">
290
    <xs:annotation>
291
      <xs:documentation> Metaclass ElementImport </xs:documentation>
292
    </xs:annotation>
293
    <xs:complexType>
294
      <xs:sequence>
295
        <xs:choice>
296
          <xs:element ref="used-class" />
297
          <xs:element ref="used-package" />
298
        </xs:choice>
299
        <xs:choice minOccurs="0" maxOccurs="unbounded">
300
          <xs:element ref="note" />
301
          <xs:element ref="constraint" />
302
          <xs:element ref="stereotype" />
303
          <xs:element ref="tagged-value" />
304
        </xs:choice>
305
      </xs:sequence>
306
      <xs:attribute name="name" type="xs:string" />
307
    </xs:complexType>
308
  </xs:element>
309
  <xs:element name="enumeration">
310
    <xs:annotation>
311
      <xs:documentation> Metaclass Enumeration </xs:documentation>
312
    </xs:annotation>
313
    <xs:complexType>
314
      <xs:choice minOccurs="0" maxOccurs="unbounded">
315
        <xs:element ref="enumeration" />
316
        <xs:element ref="template-parameter" />
317
        <xs:element ref="use" />
318
        <xs:element ref="interface" />
319
        <xs:element ref="data-type" />
320
        <xs:element ref="class" />
321
        <xs:element ref="stereotype" />
322
        <xs:element ref="tagged-value" />
323
        <xs:element ref="constraint" />
324
        <xs:element ref="note" />
325
        <xs:element ref="attribute" />
326
        <xs:element ref="package-import" />
327
        <xs:element ref="operation" />
328
        <xs:element ref="association-end" />
329
        <xs:element ref="enumeration-literal" />
330
        <xs:element ref="element-import" />
331
        <xs:element ref="realization" />
332
        <xs:element ref="generalization" />
333
      </xs:choice>
334
      <xs:attribute name="name" type="xs:string" use="required" />
335
      <xs:attribute name="is-abstract" type="xs:boolean" />
336
      <xs:attribute name="is-leaf" type="xs:boolean" />
337
      <xs:attribute name="visibility">
338
        <xs:simpleType>
339
          <xs:restriction base="xs:NMTOKEN">
340
            <xs:enumeration value="Public" />
341
            <xs:enumeration value="Protected" />
342
            <xs:enumeration value="Private" />
343
            <xs:enumeration value="Visibility_Undefined" />
344
            <xs:enumeration value="Package_Visibility" />
345
          </xs:restriction>
346
        </xs:simpleType>
347
      </xs:attribute>
348
      <xs:attribute name="is-elementary" type="xs:boolean" />
349
      <xs:attribute name="objid" type="xs:string" />
350
      <xs:attribute name="id" type="xs:string" />
351
      <xs:attribute name="refid" type="xs:string" />
352
    </xs:complexType>
353
  </xs:element>
354
  <xs:element name="enumeration-literal">
355
    <xs:annotation>
356
      <xs:documentation> Metaclass EnumerationLiteral </xs:documentation>
357
    </xs:annotation>
358
    <xs:complexType mixed="true">
359
      <xs:choice minOccurs="0" maxOccurs="unbounded">
360
        <xs:element ref="note" />
361
        <xs:element ref="constraint" />
362
        <xs:element ref="stereotype" />
363
        <xs:element ref="tagged-value" />
364
      </xs:choice>
365
      <xs:attribute name="name" type="xs:string" use="required" />
366
      <xs:attribute name="objid" type="xs:string" />
367
    </xs:complexType>
368
  </xs:element>
369
  <xs:element name="generalization">
370
    <xs:annotation>
371
      <xs:documentation> Metaclass Generalization </xs:documentation>
372
    </xs:annotation>
373
    <xs:complexType>
374
      <xs:choice minOccurs="0" maxOccurs="unbounded">
375
        <xs:element ref="note" />
376
        <xs:element ref="stereotype" />
377
        <xs:element ref="tagged-value" />
378
        <xs:element ref="super-type" />
379
      </xs:choice>
380
      <xs:attribute name="name" type="xs:string" />
381
      <xs:attribute name="discriminator" type="xs:string" />
382
    </xs:complexType>
383
  </xs:element>
384
  <xs:element name="group">
385
    <xs:annotation>
386
      <xs:documentation> Element defining the "group" concept
387
 	 A group is a high level set of parts of the application.
388
	 It is used to map a language dependant structure which can't be directly
389
     mapped in UML (For example multiple classes in one Java source file)  </xs:documentation>
390
    </xs:annotation>
391
    <xs:complexType>
392
      <xs:choice minOccurs="0" maxOccurs="unbounded">
393
        <xs:element ref="package" />
394
        <xs:element ref="class" />
395
        <xs:element ref="interface" />
396
        <xs:element ref="enumeration" />
397
        <xs:element ref="data-type" />
398
        <xs:element ref="note" />
399
        <xs:element ref="constraint" />
400
        <xs:element ref="stereotype" />
401
        <xs:element ref="tagged-value" />
402
        <xs:element ref="generalization" />
403
        <xs:element ref="use" />
404
        <xs:element ref="element-import" />
405
        <xs:element ref="package-import" />
406
        <xs:element ref="realization" />
407
        <xs:element ref="operation" />
408
        <xs:element ref="association-end" />
409
        <xs:element ref="attribute" />
410
      </xs:choice>
411
      <xs:attribute name="name" type="xs:string" use="required" />
412
    </xs:complexType>
413
  </xs:element>
414
  <xs:element name="icon" type="xs:string">
415
    <xs:annotation>
416
      <xs:documentation> Property icon </xs:documentation>
417
    </xs:annotation>
418
  </xs:element>
419
  <xs:element name="implemented-class">
420
    <xs:annotation>
421
      <xs:documentation> Property ImplementedClass </xs:documentation>
422
    </xs:annotation>
423
    <xs:complexType>
424
      <xs:sequence>
425
        <xs:element ref="destination" />
426
      </xs:sequence>
427
    </xs:complexType>
428
  </xs:element>
429
  <xs:element name="interface">
430
    <xs:annotation>
431
      <xs:documentation>Metaclass Interface </xs:documentation>
432
    </xs:annotation>
433
    <xs:complexType>
434
      <xs:choice minOccurs="0" maxOccurs="unbounded">
435
        <xs:element ref="class" />
436
        <xs:element ref="interface" />
437
        <xs:element ref="enumeration" />
438
        <xs:element ref="template-parameter" />
439
        <xs:element ref="instance" />
440
        <xs:element ref="generalization" />
441
        <xs:element ref="use" />
442
        <xs:element ref="element-import" />
443
        <xs:element ref="package-import" />
444
        <xs:element ref="operation" />
445
        <xs:element ref="attribute" />
446
        <xs:element ref="association-end" />
447
        <xs:element ref="note" />
448
        <xs:element ref="constraint" />
449
        <xs:element ref="stereotype" />
450
        <xs:element ref="tagged-value" />
451
      </xs:choice>
452
      <xs:attribute name="name" type="xs:string" use="required" />
453
      <xs:attribute name="is-abstract" type="xs:boolean" />
454
      <xs:attribute name="is-leaf" type="xs:boolean" />
455
      <xs:attribute name="visibility">
456
        <xs:simpleType>
457
          <xs:restriction base="xs:NMTOKEN">
458
            <xs:enumeration value="Public" />
459
            <xs:enumeration value="Protected" />
460
            <xs:enumeration value="Private" />
461
            <xs:enumeration value="Visibility_Undefined" />
462
            <xs:enumeration value="Package_Visibility" />
463
          </xs:restriction>
464
        </xs:simpleType>
465
      </xs:attribute>
466
      <xs:attribute name="is-elementary" type="xs:boolean" />
467
      <xs:attribute name="objid" type="xs:string" />
468
      <xs:attribute name="id" type="xs:string" />
469
      <xs:attribute name="refid" type="xs:string" />
470
    </xs:complexType>
471
  </xs:element>
472
  <xs:element name="instance">
473
    <xs:annotation>
474
      <xs:documentation> Metaclass Instance </xs:documentation>
475
    </xs:annotation>
476
    <xs:complexType>
477
      <xs:choice minOccurs="0" maxOccurs="unbounded">
478
        <xs:element ref="note" />
479
        <xs:element ref="constraint" />
480
        <xs:element ref="stereotype" />
481
        <xs:element ref="tagged-value" />
482
      </xs:choice>
483
      <xs:attribute name="name" type="xs:string" use="required" />
484
      <xs:attribute name="is-abstract" type="xs:boolean" />
485
      <xs:attribute name="is-leaf" type="xs:boolean" />
486
      <xs:attribute name="visibility">
487
        <xs:simpleType>
488
          <xs:restriction base="xs:NMTOKEN">
489
            <xs:enumeration value="Public" />
490
            <xs:enumeration value="Protected" />
491
            <xs:enumeration value="Private" />
492
            <xs:enumeration value="Visibility_Undefined" />
493
            <xs:enumeration value="Package_Visibility" />
494
          </xs:restriction>
495
        </xs:simpleType>
496
      </xs:attribute>
497
      <xs:attribute name="is-elementary" type="xs:boolean" />
498
    </xs:complexType>
499
  </xs:element>
500
  <xs:element name="is-instantiable" type="xs:string">
501
    <xs:annotation>
502
      <xs:documentation> Property IsInstantiable </xs:documentation>
503
    </xs:annotation>
504
  </xs:element>
505
  <xs:element name="model">
506
    <xs:annotation>
507
      <xs:documentation> Model root element </xs:documentation>
508
    </xs:annotation>
509
    <xs:complexType>
510
      <xs:choice minOccurs="0" maxOccurs="unbounded">
511
        <xs:element ref="package" />
512
        <xs:element ref="class" />
513
        <xs:element ref="interface" />
514
        <xs:element ref="data-type" />
515
        <xs:element ref="enumeration" />
516
        <xs:element ref="group" />
517
        <xs:element ref="dir" />
518
      </xs:choice>
519
    </xs:complexType>
520
  </xs:element>
521
  <xs:element name="note">
522
    <xs:annotation>
523
      <xs:documentation>Metaclass Note.
524
	The content of the note is stored in the content element.
525
	Used in: class, data-type, package, operation, attribute, association-end, parameter, use, generalization, realization</xs:documentation>
526
    </xs:annotation>
527
    <xs:complexType>
528
      <xs:choice minOccurs="0" maxOccurs="unbounded">
529
        <xs:element ref="stereotype" />
530
        <xs:element ref="tagged-value" />
531
        <xs:element ref="content" />
532
      </xs:choice>
533
      <xs:attribute name="name" type="xs:string" />
534
      <xs:attribute name="note-type" type="xs:string" use="required" />
535
    </xs:complexType>
536
  </xs:element>
537
  <xs:element name="operation">
538
    <xs:annotation>
539
      <xs:documentation> Metaclass Operation </xs:documentation>
540
    </xs:annotation>
541
    <xs:complexType>
542
      <xs:choice minOccurs="0" maxOccurs="unbounded">
543
        <xs:element ref="parameter" />
544
        <xs:element ref="template-parameter" />
545
        <xs:element ref="return-parameter" />
546
        <xs:element ref="use" />
547
        <xs:element ref="element-import" />
548
        <xs:element ref="package-import" />
549
        <xs:element ref="raised-exception" />
550
        <xs:element ref="note" />
551
        <xs:element ref="constraint" />
552
        <xs:element ref="stereotype" />
553
        <xs:element ref="tagged-value" />
554
      </xs:choice>
555
      <xs:attribute name="name" type="xs:string" use="required" />
556
      <xs:attribute name="passing">
557
        <xs:simpleType>
558
          <xs:restriction base="xs:NMTOKEN">
559
            <xs:enumeration value="MethodIn" />
560
            <xs:enumeration value="MethodOut" />
561
          </xs:restriction>
562
        </xs:simpleType>
563
      </xs:attribute>
564
      <xs:attribute name="final" type="xs:boolean" />
565
      <xs:attribute name="concurrency" type="xs:boolean" />
566
      <xs:attribute name="is-abstract" type="xs:boolean" />
567
      <xs:attribute name="is-class" type="xs:boolean" />
568
      <xs:attribute name="visibility">
569
        <xs:simpleType>
570
          <xs:restriction base="xs:NMTOKEN">
571
            <xs:enumeration value="Public" />
572
            <xs:enumeration value="Protected" />
573
            <xs:enumeration value="Private" />
574
            <xs:enumeration value="Visibility_Undefined" />
575
            <xs:enumeration value="Package_Visibility" />
576
          </xs:restriction>
577
        </xs:simpleType>
578
      </xs:attribute>
579
      <xs:attribute name="id" type="xs:string" />
580
      <xs:attribute name="refid" type="xs:string" />
581
      <xs:attribute name="objid" type="xs:string" />
582
    </xs:complexType>
583
  </xs:element>
584
  <xs:element name="package">
585
    <xs:annotation>
586
      <xs:documentation> Metaclass Package </xs:documentation>
587
    </xs:annotation>
588
    <xs:complexType>
589
      <xs:choice minOccurs="0" maxOccurs="unbounded">
590
        <xs:element ref="group" />
591
        <xs:element ref="package" />
592
        <xs:element ref="class" />
593
        <xs:element ref="interface" />
594
        <xs:element ref="signal" />
595
        <xs:element ref="enumeration" />
596
        <xs:element ref="data-type" />
597
        <xs:element ref="instance" />
598
        <xs:element ref="template-parameter" />
599
        <xs:element ref="note" />
600
        <xs:element ref="constraint" />
601
        <xs:element ref="stereotype" />
602
        <xs:element ref="tagged-value" />
603
        <xs:element ref="generalization" />
604
        <xs:element ref="use" />
605
        <xs:element ref="element-import" />
606
        <xs:element ref="package-import" />
607
        <xs:element ref="realization" />
608
        <xs:element ref="operation" />
609
        <xs:element ref="association-end" />
610
        <xs:element ref="attribute" />
611
      </xs:choice>
612
      <xs:attribute name="name" type="xs:string" use="required" />
613
      <xs:attribute name="is-abstract" type="xs:boolean" />
614
      <xs:attribute name="is-leaf" type="xs:boolean" />
615
      <xs:attribute name="visibility">
616
        <xs:simpleType>
617
          <xs:restriction base="xs:NMTOKEN">
618
            <xs:enumeration value="Public" />
619
            <xs:enumeration value="Protected" />
620
            <xs:enumeration value="Private" />
621
            <xs:enumeration value="Visibility_Undefined" />
622
            <xs:enumeration value="Package_Visibility" />
623
          </xs:restriction>
624
        </xs:simpleType>
625
      </xs:attribute>
626
      <xs:attribute name="is-instantiable" type="xs:boolean" />
627
      <xs:attribute name="id" type="xs:string" />
628
      <xs:attribute name="refid" type="xs:string" />
629
      <xs:attribute name="objid" type="xs:string" />
630
    </xs:complexType>
631
  </xs:element>
632
  <xs:element name="package-import">
633
    <xs:annotation>
634
      <xs:documentation> Metaclass PackageImport </xs:documentation>
635
    </xs:annotation>
636
    <xs:complexType>
637
      <xs:sequence>
638
        <xs:element ref="used-package" />
639
        <xs:choice minOccurs="0" maxOccurs="unbounded">
640
          <xs:element ref="note" />
641
          <xs:element ref="constraint" />
642
          <xs:element ref="stereotype" />
643
          <xs:element ref="tagged-value" />
644
        </xs:choice>
645
      </xs:sequence>
646
      <xs:attribute name="name" type="xs:string" />
647
    </xs:complexType>
648
  </xs:element>
649
  <xs:element name="parameter">
650
    <xs:annotation>
651
      <xs:documentation> Metaclass Parameter </xs:documentation>
652
    </xs:annotation>
653
    <xs:complexType>
654
      <xs:choice minOccurs="0" maxOccurs="unbounded">
655
        <xs:element ref="base-type" />
656
        <xs:element ref="class-type" />
657
        <xs:element ref="note" />
658
        <xs:element ref="constraint" />
659
        <xs:element ref="stereotype" />
660
        <xs:element ref="tagged-value" />
661
        <xs:element ref="default-value" />
662
      </xs:choice>
663
      <xs:attribute name="name" type="xs:string" use="required" />
664
      <xs:attribute name="passing-mode">
665
        <xs:simpleType>
666
          <xs:restriction base="xs:NMTOKEN">
667
            <xs:enumeration value="In" />
668
            <xs:enumeration value="Out" />
669
            <xs:enumeration value="Inout" />
670
          </xs:restriction>
671
        </xs:simpleType>
672
      </xs:attribute>
673
      <xs:attribute name="is-set" type="xs:boolean" />
674
      <xs:attribute name="multiplicity" type="xs:string" />
675
      <xs:attribute name="type-constraint" type="xs:string" />
676
    </xs:complexType>
677
  </xs:element>
678
  <xs:element name="passing-mode" type="xs:string">
679
    <xs:annotation>
680
      <xs:documentation> Property PassingMode </xs:documentation>
681
    </xs:annotation>
682
  </xs:element>
683
  <xs:element name="realization">
684
    <xs:annotation>
685
      <xs:documentation> Metaclass Realization </xs:documentation>
686
    </xs:annotation>
687
    <xs:complexType>
688
      <xs:choice minOccurs="0" maxOccurs="unbounded">
689
        <xs:element ref="note" />
690
        <xs:element ref="stereotype" />
691
        <xs:element ref="tagged-value" />
692
        <xs:element ref="implemented-class" />
693
      </xs:choice>
694
      <xs:attribute name="name" type="xs:string" />
695
    </xs:complexType>
696
  </xs:element>
697
  <xs:element name="raised-exception">
698
    <xs:annotation>
699
      <xs:documentation> Metaclass RaisedException </xs:documentation>
700
    </xs:annotation>
701
    <xs:complexType>
702
      <xs:sequence>
703
        <xs:element ref="used-class" />
704
        <xs:choice minOccurs="0" maxOccurs="unbounded">
705
          <xs:element ref="note" />
706
          <xs:element ref="constraint" />
707
          <xs:element ref="stereotype" />
708
          <xs:element ref="tagged-value" />
709
        </xs:choice>
710
      </xs:sequence>
711
    </xs:complexType>
712
  </xs:element>
713
  <xs:element name="report" type="xs:string">
714
    <xs:annotation>
715
      <xs:documentation> The reverse "report" </xs:documentation>
716
    </xs:annotation>
717
  </xs:element>
718
  <xs:element name="report-item">
719
    <xs:annotation>
720
      <xs:documentation>Element describing one reported information item.</xs:documentation>
721
    </xs:annotation>
722
    <xs:complexType>
723
      <xs:sequence>
724
        <xs:element ref="title" />
725
        <xs:element minOccurs="0" ref="target-item" />
726
        <xs:element ref="report" />
727
      </xs:sequence>
728
      <xs:attribute name="type" use="required">
729
        <xs:simpleType>
730
          <xs:restriction base="xs:NMTOKEN">
731
            <xs:enumeration value="info" />
732
            <xs:enumeration value="warning" />
733
            <xs:enumeration value="error" />
734
            <xs:enumeration value="modification" />
735
            <xs:enumeration value="addition" />
736
            <xs:enumeration value="deletion" />
737
          </xs:restriction>
738
        </xs:simpleType>
739
      </xs:attribute>
740
    </xs:complexType>
741
  </xs:element>
742
  <xs:element name="report-list">
743
    <xs:annotation>
744
      <xs:documentation>Element used to send back reports to Objecteering
745
	Used in: reversed-data</xs:documentation>
746
    </xs:annotation>
747
    <xs:complexType>
748
      <xs:sequence minOccurs="0" maxOccurs="unbounded">
749
        <xs:element ref="report-item" />
750
      </xs:sequence>
751
    </xs:complexType>
752
  </xs:element>
753
  <xs:element name="return-parameter">
754
    <xs:annotation>
755
      <xs:documentation> Metaclass Parameter Return</xs:documentation>
756
    </xs:annotation>
757
    <xs:complexType>
758
      <xs:choice minOccurs="0" maxOccurs="unbounded">
759
        <xs:element ref="base-type" />
760
        <xs:element ref="class-type" />
761
        <xs:element ref="note" />
762
        <xs:element ref="constraint" />
763
        <xs:element ref="stereotype" />
764
        <xs:element ref="tagged-value" />
765
        <xs:element ref="default-value" />
766
      </xs:choice>
767
      <xs:attribute name="name" type="xs:string" />
768
      <xs:attribute name="passing-mode">
769
        <xs:simpleType>
770
          <xs:restriction base="xs:NMTOKEN">
771
            <xs:enumeration value="In" />
772
            <xs:enumeration value="Out" />
773
            <xs:enumeration value="Inout" />
774
          </xs:restriction>
775
        </xs:simpleType>
776
      </xs:attribute>
777
      <xs:attribute name="is-set" type="xs:boolean" />
778
      <xs:attribute name="multiplicity" type="xs:string" />
779
      <xs:attribute name="type-constraint" type="xs:string" />
780
    </xs:complexType>
781
  </xs:element>
782
  <xs:element name="reversed-data">
783
    <xs:annotation>
784
      <xs:documentation> XML file root element </xs:documentation>
785
    </xs:annotation>
786
    <xs:complexType>
787
      <xs:sequence>
788
        <xs:element ref="model" />
789
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="external-element" />
790
        <xs:element ref="report-list" />
791
      </xs:sequence>
792
    </xs:complexType>
793
  </xs:element>
794
  <xs:element name="signal">
795
    <xs:annotation>
796
      <xs:documentation> Metaclass Signal </xs:documentation>
797
    </xs:annotation>
798
    <xs:complexType>
799
      <xs:choice minOccurs="0" maxOccurs="unbounded">
800
        <xs:element ref="operation-representation" />
801
        <xs:element ref="note" />
802
        <xs:element ref="constraint" />
803
        <xs:element ref="stereotype" />
804
        <xs:element ref="tagged-value" />
805
      </xs:choice>
806
      <xs:attribute name="visibility">
807
        <xs:simpleType>
808
          <xs:restriction base="xs:NMTOKEN">
809
            <xs:enumeration value="Public" />
810
            <xs:enumeration value="Protected" />
811
            <xs:enumeration value="Private" />
812
            <xs:enumeration value="Visibility_Undefined" />
813
          </xs:restriction>
814
        </xs:simpleType>
815
      </xs:attribute>
816
      <xs:attribute name="is-class" type="xs:boolean" />
817
      <xs:attribute name="name" type="xs:string" />
818
      <xs:attribute name="id" type="xs:string" />
819
      <xs:attribute name="refid" type="xs:string" />
820
      <xs:attribute name="objid" type="xs:string" />
821
    </xs:complexType>
822
  </xs:element>
823
  <xs:element name="operation-representation">
824
    <xs:complexType>
825
      <xs:sequence>
826
        <xs:element ref="destination" />
827
      </xs:sequence>
828
    </xs:complexType>
829
  </xs:element>
830
  <xs:element name="external-element">
831
    <xs:complexType>
832
      <xs:simpleContent>
833
        <xs:extension base="xs:string">
834
          <xs:attribute name="id" type="xs:string" use="required" />
835
        </xs:extension>
836
      <xs:attribute name="package" type="xs:string" />
837
      <xs:attribute name="class" type="xs:string" />
838
      <xs:attribute name="metaclass" type="xs:string" />
839
      </xs:simpleContent>
840
    </xs:complexType>
841
  </xs:element>
842
  <xs:element name="stereotype">
843
    <xs:annotation>
844
      <xs:documentation> Metaclass Stereotype </xs:documentation>
845
    </xs:annotation>
846
    <xs:complexType>
847
      <xs:attribute name="stereotype-type" type="xs:string" use="required" />
848
    </xs:complexType>
849
  </xs:element>
850
  <xs:element name="super-type">
851
    <xs:annotation>
852
      <xs:documentation> Association SuperType </xs:documentation>
853
    </xs:annotation>
854
    <xs:complexType>
855
      <xs:sequence>
856
        <xs:element ref="destination" />
857
      </xs:sequence>
858
    </xs:complexType>
859
  </xs:element>
860
  <xs:element name="tagged-value">
861
    <xs:annotation>
862
      <xs:documentation> Metaclass TaggedValue </xs:documentation>
863
    </xs:annotation>
864
    <xs:complexType>
865
      <xs:sequence>
866
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="tag-parameter" />
867
      </xs:sequence>
868
      <xs:attribute name="name" type="xs:string" />
869
      <xs:attribute name="tag-type" type="xs:string" use="required" />
870
    </xs:complexType>
871
  </xs:element>
872
  <xs:element name="tag-parameter" type="xs:string">
873
    <xs:annotation>
874
      <xs:documentation> Metaclass TagParameter </xs:documentation>
875
    </xs:annotation>
876
  </xs:element>
877
  <xs:element name="template-binding">
878
    <xs:annotation>
879
      <xs:documentation> Metaclass TemplateBinding </xs:documentation>
880
    </xs:annotation>
881
    <xs:complexType>
882
      <xs:choice minOccurs="0" maxOccurs="unbounded">
883
        <xs:element ref="template-parameter-substitution" />
884
        <xs:element ref="note" />
885
        <xs:element ref="constraint" />
886
        <xs:element ref="stereotype" />
887
        <xs:element ref="tagged-value" />
888
      </xs:choice>
889
      <xs:attribute name="name" type="xs:string" use="required" />
890
    </xs:complexType>
891
  </xs:element>
892
  <xs:element name="template-parameter-substitution">
893
    <xs:annotation>
894
      <xs:documentation> Metaclass TemplateParameterSubstitution </xs:documentation>
895
    </xs:annotation>
896
    <xs:complexType>
897
      <xs:choice>
898
        <xs:element ref="value" />
899
        <xs:element ref="destination" />
900
      </xs:choice>
901
      <xs:attribute name="name" type="xs:string" use="required" />
902
    </xs:complexType>
903
  </xs:element>
904
  <xs:element name="template-parameter">
905
    <xs:annotation>
906
      <xs:documentation> Metaclass TemplateParameter </xs:documentation>
907
    </xs:annotation>
908
    <xs:complexType>
909
      <xs:choice minOccurs="0" maxOccurs="unbounded">
910
        <xs:element ref="package" />
911
        <xs:element ref="class" />
912
        <xs:element ref="operation" />
913
        <xs:element ref="attribute" />
914
        <xs:element ref="association-end" />
915
        <xs:element ref="default-value" />
916
        <xs:element ref="type" />
917
        <xs:element ref="default-type" />
918
        <xs:element ref="tagged-value" />
919
        <xs:element ref="stereotype" />
920
      </xs:choice>
921
      <xs:attribute name="name" type="xs:string" use="required" />
922
      <xs:attribute name="id" type="xs:string" />
923
      <xs:attribute name="refid" type="xs:string" />
924
    </xs:complexType>
925
  </xs:element>
926
  <xs:element name="target-item">
927
    <xs:annotation>
928
      <xs:documentation> Model element the report-item is about </xs:documentation>
929
    </xs:annotation>
930
    <xs:complexType>
931
      <xs:sequence>
932
        <xs:element ref="destination" />
933
      </xs:sequence>
934
    </xs:complexType>
935
  </xs:element>
936
  <xs:element name="type">
937
    <xs:annotation>
938
      <xs:documentation> Metaclass type </xs:documentation>
939
    </xs:annotation>
940
    <xs:complexType>
941
      <xs:sequence>
942
        <xs:element ref="destination" />
943
      </xs:sequence>
944
    </xs:complexType>
945
  </xs:element>
946
  <xs:element name="default-type">
947
    <xs:annotation>
948
      <xs:documentation> Metaclass  default-type </xs:documentation>
949
    </xs:annotation>
950
    <xs:complexType>
951
      <xs:choice>
952
        <xs:element ref="class-type" />
953
        <xs:element ref="base-type" />
954
      </xs:choice>
955
    </xs:complexType>
956
  </xs:element>
957
  <xs:element name="title" type="xs:string">
958
    <xs:annotation>
959
      <xs:documentation> Report title </xs:documentation>
960
    </xs:annotation>
961
  </xs:element>
962
  <xs:element name="use">
963
    <xs:annotation>
964
      <xs:documentation> Metaclass Use </xs:documentation>
965
    </xs:annotation>
966
    <xs:complexType>
967
      <xs:choice minOccurs="0" maxOccurs="unbounded">
968
        <xs:element ref="note" />
969
        <xs:element ref="constraint" />
970
        <xs:element ref="stereotype" />
971
        <xs:element ref="tagged-value" />
972
        <xs:element ref="used-class" />
973
        <xs:element ref="used-package" />
974
      </xs:choice>
975
      <xs:attribute name="name" type="xs:string" />
976
    </xs:complexType>
977
  </xs:element>
978
  <xs:element name="used-class">
979
    <xs:annotation>
980
      <xs:documentation> Element representing a "used" element when this element is of type class </xs:documentation>
981
    </xs:annotation>
982
    <xs:complexType>
983
      <xs:sequence>
984
        <xs:element ref="destination" />
985
      </xs:sequence>
986
    </xs:complexType>
987
  </xs:element>
988
  <xs:element name="used-package">
989
    <xs:annotation>
990
      <xs:documentation> Element representing a used element when this element is of type package </xs:documentation>
991
    </xs:annotation>
992
    <xs:complexType>
993
      <xs:sequence>
994
        <xs:element ref="destination" />
995
      </xs:sequence>
996
    </xs:complexType>
997
  </xs:element>
998
  <xs:element name="value" type="xs:string">
999
    <xs:annotation>
1000
      <xs:documentation> Element representing an attribute value </xs:documentation>
1001
    </xs:annotation>
1002
  </xs:element>
1003
  <xs:element name="dependency">
1004
    <xs:complexType>
1005
      <xs:choice minOccurs="0" maxOccurs="unbounded">
1006
        <xs:element ref="class-type" />
1007
        <xs:element ref="stereotype" />
1008
        <xs:element ref="tagged-value" />
1009
      </xs:choice>
1010
    </xs:complexType>
1011
  </xs:element>
1012
</xs:schema>