-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathpacket_metamodel.xsd
82 lines (82 loc) · 3.17 KB
/
packet_metamodel.xsd
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="data_types.xsd"/>
<xs:element name="Packet">
<xs:complexType>
<xs:sequence>
<xs:element name="Header">
<xs:complexType>
<xs:group ref="DataValue" maxOccurs="unbounded"/>
</xs:complexType>
</xs:element>
<xs:element name="HeaderExtension" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="MessageType" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>All MessageTypes this HeaderExtension is valid for. Make sure only one HeaderExtension is valid for one MessageType!</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int"/>
</xs:simpleType>
</xs:element>
<xs:group ref="DataValue" maxOccurs="unbounded"/>
<xs:element name="ContainsMessageData" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MessageGroup" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="Description" type="xs:string"/>
<xs:element name="MessageGroupID">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="127"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Message" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="Description" type="xs:string"/>
<xs:element name="MessageID">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="15"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="MessageType" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>All MessageTypes this Message is valid for.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int"/>
</xs:simpleType>
</xs:element>
<xs:element name="Validity">
<xs:annotation>
<xs:documentation>Tells if the message definition is only for testing (and could change in its format definition), is released for production use (and should not be changed anymore) or deprecated (and may be removed some day).</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="test|released|deprecated"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:group ref="DataValue" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>