Skip to content

Commit ae87b70

Browse files
committed
6.1.0
Added XML schema
1 parent 43a11de commit ae87b70

File tree

5 files changed

+156
-42
lines changed

5 files changed

+156
-42
lines changed

qm.xsd

Lines changed: 154 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -5,48 +5,58 @@
55
<xs:sequence>
66
<xs:element name="documentation" type="xs:string"/>
77
<xs:element ref="framework"/>
8-
<xs:element ref="package" maxOccurs="unbounded"/>
9-
<xs:element ref="directory" maxOccurs="unbounded"/>
8+
<xs:choice minOccurs="0" maxOccurs="unbounded">
9+
<xs:element ref="package"/>
10+
<xs:element ref="extern_package"/>
11+
</xs:choice>
12+
<xs:element ref="directory" minOccurs="0" maxOccurs="unbounded"/>
1013
</xs:sequence>
1114
<xs:attribute name="links" type="xs:string" use="required"/>
1215
<xs:attribute name="version" type="xs:string" use="required"/>
1316
</xs:complexType>
1417
</xs:element>
1518
<xs:element name="framework">
1619
<xs:complexType>
17-
<xs:attribute name="license" type="xs:string"/>
1820
<xs:attribute name="name" type="xs:string" use="required"/>
21+
<xs:attribute name="license" type="xs:string"/>
1922
</xs:complexType>
2023
</xs:element>
2124
<xs:element name="package">
2225
<xs:complexType>
23-
<xs:choice maxOccurs="unbounded" minOccurs="0">
24-
<xs:element ref="attribute"/>
25-
<xs:element ref="class"/>
26+
<xs:choice minOccurs="0" maxOccurs="unbounded">
2627
<xs:element ref="package"/>
28+
<xs:element ref="extern_package"/>
29+
<xs:element ref="class"/>
30+
<xs:element ref="attribute"/>
2731
<xs:element ref="operation"/>
32+
<xs:element ref="directory"/>
2833
</xs:choice>
2934
<xs:attribute name="name" type="xs:string" use="required"/>
30-
<xs:attribute name="namespace" type="xs:string"/>
3135
<xs:attribute name="stereotype" type="xs:string" use="required"/>
36+
<xs:attribute name="namespace" type="xs:string"/>
37+
</xs:complexType>
38+
</xs:element>
39+
<xs:element name="extern_package">
40+
<xs:complexType>
41+
<xs:attribute name="file" type="xs:string" use="required"/>
3242
</xs:complexType>
3343
</xs:element>
3444
<xs:element name="attribute">
3545
<xs:complexType>
36-
<xs:choice maxOccurs="unbounded" minOccurs="0">
37-
<xs:element name="documentation" type="xs:string"/>
38-
<xs:element name="code" type="xs:string"/>
39-
</xs:choice>
46+
<xs:sequence>
47+
<xs:element name="documentation" type="xs:string" minOccurs="0"/>
48+
<xs:element name="code" type="xs:string" minOccurs="0"/>
49+
</xs:sequence>
4050
<xs:attribute name="name" type="xs:string" use="required"/>
41-
<xs:attribute name="properties" type="xs:string" use="required"/>
4251
<xs:attribute name="type" type="xs:string" use="required"/>
52+
<xs:attribute name="properties" type="xs:string" use="required"/>
4353
<xs:attribute name="visibility" type="xs:string" use="required"/>
4454
</xs:complexType>
4555
</xs:element>
4656
<xs:element name="class">
4757
<xs:complexType>
48-
<xs:sequence minOccurs="0">
49-
<xs:element name="documentation" type="xs:string" minOccurs="0" maxOccurs="1"/>
58+
<xs:sequence>
59+
<xs:element name="documentation" type="xs:string" minOccurs="0"/>
5060
<xs:element ref="attribute" minOccurs="0" maxOccurs="unbounded"/>
5161
<xs:element ref="operation" minOccurs="0" maxOccurs="unbounded"/>
5262
<xs:element ref="statechart" minOccurs="0"/>
@@ -57,11 +67,11 @@
5767
</xs:element>
5868
<xs:element name="operation">
5969
<xs:complexType>
60-
<xs:sequence minOccurs="0">
61-
<xs:element name="specifiers" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
62-
<xs:element name="documentation" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
70+
<xs:sequence>
71+
<xs:element name="specifiers" type="xs:string" minOccurs="0"/>
72+
<xs:element name="documentation" type="xs:string" minOccurs="0"/>
6373
<xs:element ref="parameter" minOccurs="0" maxOccurs="unbounded"/>
64-
<xs:element name="code" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
74+
<xs:element name="code" type="xs:string" minOccurs="0"/>
6575
</xs:sequence>
6676
<xs:attribute name="name" type="xs:string" use="required"/>
6777
<xs:attribute name="properties" type="xs:string" use="required"/>
@@ -80,6 +90,7 @@
8090
<xs:sequence>
8191
<xs:element ref="initial"/>
8292
<xs:element ref="state" maxOccurs="unbounded"/>
93+
<xs:element ref="submachine" maxOccurs="unbounded"/>
8394
<xs:element ref="state_diagram"/>
8495
</xs:sequence>
8596
<xs:attribute name="properties" type="xs:string" use="required"/>
@@ -100,22 +111,18 @@
100111
<xs:attribute name="brief" type="xs:string"/>
101112
</xs:complexType>
102113
</xs:element>
103-
<xs:element name="initial_glyph">
104-
<xs:complexType>
105-
<xs:sequence>
106-
<xs:element ref="action"/>
107-
</xs:sequence>
108-
<xs:attribute name="conn" type="xs:string" use="required"/>
109-
</xs:complexType>
110-
</xs:element>
111114
<xs:element name="state">
112115
<xs:complexType>
113116
<xs:sequence>
117+
<xs:element name="documentation" type="xs:string" minOccurs="0"/>
114118
<xs:element ref="entry" minOccurs="0"/>
115119
<xs:element ref="exit" minOccurs="0"/>
116120
<xs:element ref="initial" minOccurs="0"/>
117121
<xs:element ref="tran" minOccurs="0" maxOccurs="unbounded"/>
118-
<xs:element ref="state" minOccurs="0" maxOccurs="unbounded"/>
122+
<xs:choice minOccurs="0" maxOccurs="unbounded">
123+
<xs:element ref="state" minOccurs="0" maxOccurs="unbounded"/>
124+
<xs:element ref="smstate" minOccurs="0" maxOccurs="unbounded"/>
125+
</xs:choice>
119126
<xs:element ref="state_glyph"/>
120127
</xs:sequence>
121128
<xs:attribute name="name" type="xs:string" use="required"/>
@@ -128,16 +135,9 @@
128135
<xs:element ref="choice" minOccurs="0" maxOccurs="unbounded"/>
129136
<xs:element ref="tran_glyph"/>
130137
</xs:sequence>
131-
<xs:attribute name="target" type="xs:string"/>
132138
<xs:attribute name="trig" type="xs:string" use="required"/>
133-
</xs:complexType>
134-
</xs:element>
135-
<xs:element name="tran_glyph">
136-
<xs:complexType>
137-
<xs:sequence>
138-
<xs:element ref="action"/>
139-
</xs:sequence>
140-
<xs:attribute name="conn" type="xs:string" use="required"/>
139+
<xs:attribute name="target" type="xs:string"/>
140+
<xs:attribute name="cpref" type="xs:string"/>
141141
</xs:complexType>
142142
</xs:element>
143143
<xs:element name="entry">
@@ -160,14 +160,78 @@
160160
<xs:element ref="choice_glyph"/>
161161
</xs:sequence>
162162
<xs:attribute name="target" type="xs:string"/>
163+
<xs:attribute name="cpref" type="xs:string"/>
163164
</xs:complexType>
164165
</xs:element>
165166
<xs:element name="guard">
166167
<xs:complexType mixed="true">
167168
<xs:attribute name="brief" type="xs:string"/>
168169
</xs:complexType>
169170
</xs:element>
170-
<xs:element name="choice_glyph">
171+
<xs:element name="smstate">
172+
<xs:complexType>
173+
<xs:sequence>
174+
<xs:element ref="xpseg"/>
175+
<xs:element ref="tran" maxOccurs="unbounded"/>
176+
<xs:element ref="smstate_glyph"/>
177+
</xs:sequence>
178+
<xs:attribute name="name" type="xs:string" use="required"/>
179+
<xs:attribute name="submachine" type="xs:string" use="required"/>
180+
</xs:complexType>
181+
</xs:element>
182+
<xs:element name="xpseg">
183+
<xs:complexType>
184+
<xs:sequence>
185+
<xs:element ref="action"/>
186+
<xs:element ref="xpseg_glyph"/>
187+
</xs:sequence>
188+
<xs:attribute name="target" type="xs:string" use="required"/>
189+
<xs:attribute name="xpref" type="xs:string" use="required"/>
190+
</xs:complexType>
191+
</xs:element>
192+
<xs:element name="submachine">
193+
<xs:complexType>
194+
<xs:sequence>
195+
<xs:element ref="entry"/>
196+
<xs:element ref="exit"/>
197+
<xs:element ref="epseg" maxOccurs="unbounded"/>
198+
<xs:element ref="xp"/>
199+
<xs:element ref="tran"/>
200+
<xs:element ref="state" maxOccurs="unbounded"/>
201+
<xs:element ref="submachine_diagram"/>
202+
</xs:sequence>
203+
<xs:attribute name="name" type="xs:string" use="required"/>
204+
</xs:complexType>
205+
</xs:element>
206+
<xs:element name="epseg">
207+
<xs:complexType>
208+
<xs:sequence>
209+
<xs:element ref="action"/>
210+
<xs:element ref="epseg_glyph"/>
211+
</xs:sequence>
212+
<xs:attribute name="name" type="xs:string" use="required"/>
213+
<xs:attribute name="target" type="xs:string" use="required"/>
214+
</xs:complexType>
215+
</xs:element>
216+
<xs:element name="name">
217+
<xs:complexType>
218+
<xs:attribute name="box" type="xs:string" use="required"/>
219+
</xs:complexType>
220+
</xs:element>
221+
<xs:element name="xp">
222+
<xs:complexType>
223+
<xs:sequence>
224+
<xs:element ref="xp_glyph"/>
225+
</xs:sequence>
226+
<xs:attribute name="name" type="xs:string" use="required"/>
227+
</xs:complexType>
228+
</xs:element>
229+
<xs:element name="state_diagram">
230+
<xs:complexType>
231+
<xs:attribute name="size" type="xs:string" use="required"/>
232+
</xs:complexType>
233+
</xs:element>
234+
<xs:element name="initial_glyph">
171235
<xs:complexType>
172236
<xs:sequence>
173237
<xs:element ref="action"/>
@@ -177,21 +241,71 @@
177241
</xs:element>
178242
<xs:element name="state_glyph">
179243
<xs:complexType>
180-
<xs:sequence minOccurs="0">
244+
<xs:sequence>
181245
<xs:element ref="entry" minOccurs="0"/>
182246
<xs:element ref="exit" minOccurs="0"/>
183247
</xs:sequence>
184248
<xs:attribute name="node" type="xs:string" use="required"/>
185249
</xs:complexType>
186250
</xs:element>
187-
<xs:element name="state_diagram">
251+
<xs:element name="smstate_glyph">
252+
<xs:complexType>
253+
<xs:attribute name="node" type="xs:string" use="required"/>
254+
</xs:complexType>
255+
</xs:element>
256+
<xs:element name="tran_glyph">
188257
<xs:complexType>
258+
<xs:sequence>
259+
<xs:element ref="action"/>
260+
</xs:sequence>
261+
<xs:attribute name="conn" type="xs:string" use="required"/>
262+
</xs:complexType>
263+
</xs:element>
264+
<xs:element name="choice_glyph">
265+
<xs:complexType>
266+
<xs:sequence>
267+
<xs:element ref="action"/>
268+
</xs:sequence>
269+
<xs:attribute name="conn" type="xs:string" use="required"/>
270+
</xs:complexType>
271+
</xs:element>
272+
<xs:element name="xpseg_glyph">
273+
<xs:complexType>
274+
<xs:sequence>
275+
<xs:element ref="action"/>
276+
</xs:sequence>
277+
<xs:attribute name="conn" type="xs:string" use="required"/>
278+
</xs:complexType>
279+
</xs:element>
280+
<xs:element name="submachine_diagram">
281+
<xs:complexType>
282+
<xs:sequence>
283+
<xs:element ref="entry"/>
284+
<xs:element ref="exit"/>
285+
</xs:sequence>
189286
<xs:attribute name="size" type="xs:string" use="required"/>
190287
</xs:complexType>
191288
</xs:element>
289+
<xs:element name="epseg_glyph">
290+
<xs:complexType>
291+
<xs:sequence>
292+
<xs:element ref="name"/>
293+
<xs:element ref="action"/>
294+
</xs:sequence>
295+
<xs:attribute name="conn" type="xs:string" use="required"/>
296+
</xs:complexType>
297+
</xs:element>
298+
<xs:element name="xp_glyph">
299+
<xs:complexType>
300+
<xs:sequence>
301+
<xs:element ref="name"/>
302+
</xs:sequence>
303+
<xs:attribute name="point" type="xs:string" use="required"/>
304+
</xs:complexType>
305+
</xs:element>
192306
<xs:element name="directory">
193307
<xs:complexType>
194-
<xs:sequence minOccurs="0">
308+
<xs:sequence>
195309
<xs:element ref="directory" minOccurs="0" maxOccurs="unbounded"/>
196310
<xs:element ref="file" minOccurs="0" maxOccurs="unbounded"/>
197311
</xs:sequence>

version-6.0.1

Lines changed: 0 additions & 2 deletions
This file was deleted.

version-6.1.0

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
QM 6.1.0
2+
2023-12-21

win64/bin/qm.exe

0 Bytes
Binary file not shown.

win64/bin/qmc.exe

-8 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)