Add initial specs in expected layout and added license
Showing
8 changed files
with
1132 additions
and
357 deletions
TensorCommon.xid
0 → 120000
1 | TensorCommon/V1.0.0/TensorCommon.xid | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="UTF-8" ?> | 1 | <?xml version="1.0" encoding="UTF-8" ?> |
2 | 2 | ||
3 | <!-- | ||
4 | Copyright (c) 2017, TeleCommunication Systems, Inc., | ||
5 | a wholly-owned subsidiary of Comtech Telecommunications Corp. | ||
6 | and/or affiliates of TeleCommunication Systems, Inc. | ||
7 | All rights reserved. | ||
8 | TeleCommunication Systems, Inc. PROPRIETARY/CONFIDENTIAL. | ||
9 | Use is subject to license terms included in the distribution. | ||
10 | --> | ||
11 | |||
3 | <specification xmlns="http://xid.location.studio/XID/XtensibleInterfaceDefinition.xsd" | 12 | <specification xmlns="http://xid.location.studio/XID/XtensibleInterfaceDefinition.xsd" |
4 | xmlns:xid="http://xid.location.studio/XID/XtensibleInterfaceDefinition.xsd" | 13 | xmlns:xid="http://xid.location.studio/XID/XtensibleInterfaceDefinition.xsd" |
5 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | 14 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
6 | xsi:schemaLocation="http://xid.location.studio/XID/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd" | 15 | xsi:schemaLocation="http://xid.location.studio/XID/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd" |
7 | identity="TensorCommmon.xid"> | 16 | identity="TensorCommmon.xid"> |
8 | <title>Tensor Commmon Defitions</title> | 17 | <title>Tensor Commmon Definitions</title> |
9 | <comment></comment> | 18 | <comment></comment> |
10 | <artifact></artifact> | 19 | <artifact></artifact> |
11 | 20 | ||
12 | <import ref="http://xid.location.studio/XID/TensorDefinitions.xid" local="TensorDefinitions.xid" /> | 21 | <import ref="TensorDefinitions/V1.0.0/TensorDefinitions.xid" local="TensorDefinitions.xid" /> |
13 | 22 | ||
14 | <namespace name="Tensor"> | 23 | <namespace name="Tensor"> |
15 | <struct name="NameValue" > | 24 | <struct name="NameValue" > | ... | ... |
TensorDefinitions.xid
0 → 120000
1 | TensorDefinitions/V1.0.0/TensorDefinitions.xid | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="UTF-8" ?> | ||
2 | |||
3 | <!-- | ||
4 | Copyright (c) 2017, TeleCommunication Systems, Inc., | ||
5 | a wholly-owned subsidiary of Comtech Telecommunications Corp. | ||
6 | and/or affiliates of TeleCommunication Systems, Inc. | ||
7 | All rights reserved. | ||
8 | TeleCommunication Systems, Inc. PROPRIETARY/CONFIDENTIAL. | ||
9 | Use is subject to license terms included in the distribution. | ||
10 | --> | ||
11 | |||
12 | <specification xmlns="http://xid.location.studio/XID/XtensibleInterfaceDefinition.xsd" | ||
13 | xmlns:xid="http://xid.location.studio/XID/XtensibleInterfaceDefinition.xsd" | ||
14 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
15 | xsi:schemaLocation="http://xid.location.studio/XID/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd" | ||
16 | identity="TensorDefinitions.xid"> | ||
17 | <title>Tensor Common Defitions</title> | ||
18 | <comment> | ||
19 | Defines fundamental types mappings. | ||
20 | </comment> | ||
21 | <artifact></artifact> | ||
22 | <tag name="package" value="com.comtechtel"/> | ||
23 | |||
24 | <namespace name="Tensor"> | ||
25 | <type name="void" size="0"> | ||
26 | <comment>represents nothing. <br/>Useful in <operation> with no <input></comment> | ||
27 | <lang name="c" type="void"/> | ||
28 | <lang name="cpp" type="void"/> | ||
29 | <lang name="java" type="void"/> | ||
30 | <lang name="node" type="void"/> | ||
31 | </type> | ||
32 | <type name="bool" size="1"> | ||
33 | <comment>represents true/false</comment> | ||
34 | <lang name="c" type="bool" include="stdbool.h"/> | ||
35 | <lang name="cpp" type="bool"/> | ||
36 | <lang name="java" type="XidBool" include="com.comtechtel.tensor.xid.XidBool"/> | ||
37 | <lang name="node" type="XidBool"/> | ||
38 | </type> | ||
39 | |||
40 | <type name="uint8" size="1"> | ||
41 | <comment>8-bit, unsigned value</comment> | ||
42 | <lang name="c" type="uint8_t" include="stdint.h"/> | ||
43 | <lang name="cpp" type="uint8_t" include="cstdint"/> | ||
44 | <lang name="java" type="XidByte" include="com.comtechtel.tensor.xid.XidByte" /> | ||
45 | <lang name="node" type="XidUInt8"/> | ||
46 | </type> | ||
47 | <type name="uint16" size="2"> | ||
48 | <comment>16-bit, unsigned value</comment> | ||
49 | <lang name="c" type="uint16_t" include="stdint.h"/> | ||
50 | <lang name="cpp" type="uint16_t" include="cstdint"/> | ||
51 | <lang name="java" type="XidShort" include="com.comtechtel.tensor.xid.XidShort"/> | ||
52 | <lang name="node" type="XidUShort"/> | ||
53 | </type> | ||
54 | <type name="uint24" size="3"> | ||
55 | <comment>24-bit, unsigned value</comment> | ||
56 | <lang name="c" type="uint24_t" include="Tensor/CXMF/int24.h"/> | ||
57 | <lang name="cpp" type="uint24_t" include="Tensor/Types/int24.h"/> | ||
58 | <lang name="java" type="XidInt24" include="com.comtechtel.tensor.xid.XidInt24"/> | ||
59 | <lang name="node" type="XidUInt24"/> | ||
60 | </type> | ||
61 | <type name="uint32" size="4"> | ||
62 | <comment>32-bit, unsigned value</comment> | ||
63 | <lang name="c" type="uint32_t" include="stdint.h"/> | ||
64 | <lang name="cpp" type="uint32_t" include="cstdint"/> | ||
65 | <lang name="java" type="XidInt" include="com.comtechtel.tensor.xid.XidInt"/> | ||
66 | <lang name="node" type="XidUInt"/> | ||
67 | </type> | ||
68 | <type name="uint64" size="8"> | ||
69 | <comment>64-bit, unsigned value</comment> | ||
70 | <lang name="c" type="uint64_t" include="stdint.h"/> | ||
71 | <lang name="cpp" type="uint64_t" include="cstdint"/> | ||
72 | <lang name="java" type="XidLong" include="com.comtechtel.tensor.xid.XidLong"/> | ||
73 | <lang name="node" type="XidULong"/> | ||
74 | </type> | ||
75 | |||
76 | <type name="int8" size="1"> | ||
77 | <comment>8-bit, signed value</comment> | ||
78 | <lang name="c" type="int8_t" include="stdint.h"/> | ||
79 | <lang name="cpp" type="int8_t" include="cstdint"/> | ||
80 | <lang name="java" type="XidByte" include="com.comtechtel.tensor.xid.XidByte"/> | ||
81 | <lang name="node" type="XidInt8"/> | ||
82 | </type> | ||
83 | <type name="int16" size="2"> | ||
84 | <comment>16-bit, signed value</comment> | ||
85 | <lang name="c" type="int16_t" include="stdint.h"/> | ||
86 | <lang name="cpp" type="int16_t" include="cstdint"/> | ||
87 | <lang name="java" type="XidShort" include="com.comtechtel.tensor.xid.XidShort" /> | ||
88 | <lang name="node" type="XidShort"/> | ||
89 | </type> | ||
90 | <type name="int24" size="3"> | ||
91 | <comment>24-bit, unsigned value</comment> | ||
92 | <lang name="c" type="int24_t" include="Tensor/CXMF/int24.h"/> | ||
93 | <lang name="cpp" type="int24_t" include="Tensor/Types/int24.h"/> | ||
94 | <lang name="java" type="XidInt24" include="com.comtechtel.tensor.xid.XidInt24"/> | ||
95 | <lang name="node" type="XidInt24"/> | ||
96 | </type> | ||
97 | <type name="int32" size="4"> | ||
98 | <comment>32-bit, signed value</comment> | ||
99 | <lang name="c" type="int32_t" include="stdint.h"/> | ||
100 | <lang name="cpp" type="int32_t" include="cstdint"/> | ||
101 | <lang name="java" type="XidInt" include="com.comtechtel.tensor.xid.XidInt"/> | ||
102 | <lang name="node" type="XidInt"/> | ||
103 | </type> | ||
104 | <type name="int64" size="8"> | ||
105 | <comment>64-bit, signed value</comment> | ||
106 | <lang name="c" type="int64_t" include="stdint.h"/> | ||
107 | <lang name="cpp" type="int64_t" include="cstdint"/> | ||
108 | <lang name="java" type="XidLong" include="com.comtechtel.tensor.xid.XidLong"/> | ||
109 | <lang name="node" type="XidLong"/> | ||
110 | </type> | ||
111 | |||
112 | <!-- | ||
113 | <type name="float16" size="4"> | ||
114 | <comment>32-bit, IEEE 754 binary16</comment> | ||
115 | <comment>C/cpp usually a "float"</comment> | ||
116 | <artifact>https://en.wikipedia.org/wiki/Half-precision_floating-point_format</artifact> | ||
117 | </type> | ||
118 | --> | ||
119 | |||
120 | <type name="float32" size="4"> | ||
121 | <comment>32-bit, IEEE 754 binary32</comment> | ||
122 | <artifact>https://en.wikipedia.org/wiki/Single-precision_floating-point_format</artifact> | ||
123 | <lang name="c" type="float"/> | ||
124 | <lang name="cpp" type="float"/> | ||
125 | <lang name="java" type="XidFloat" include="com.comtechtel.tensor.xid.XidFloat"/> | ||
126 | <lang name="node" type="XidFloat"/> | ||
127 | </type> | ||
128 | <type name="float64" size="8"> | ||
129 | <comment>64-bit, IEEE 754 binary64</comment> | ||
130 | <artifact>https://en.wikipedia.org/wiki/Double-precision_floating-point_format</artifact> | ||
131 | <lang name="c" type="double"/> | ||
132 | <lang name="cpp" type="double"/> | ||
133 | <lang name="java" type="XidDouble" include="com.comtechtel.tensor.xid.XidDouble"/> | ||
134 | <lang name="node" type="XidDouble"/> | ||
135 | </type> | ||
136 | <!-- | ||
137 | <type name="float128" size="8"> | ||
138 | <comment>128-bit, IEEE 754 binary128</comment> | ||
139 | <artifact>https://en.wikipedia.org/wiki/Quadruple-precision_floating-point_format</artifact> | ||
140 | <lang name="cpp" type="long double"/> | ||
141 | </type> | ||
142 | --> | ||
143 | |||
144 | <type name="byte" size="1"> | ||
145 | <comment>A single byte</comment> | ||
146 | <lang name="c" type="uint8_t" include="stdint.h"/> | ||
147 | <lang name="cpp" type="uint8_t" include="cstdint"/> | ||
148 | <lang name="java" type="XidByte" include="com.comtechtel.tensor.xid.XidByte"/> | ||
149 | <lang name="node" type="XidUInt8"/> | ||
150 | </type> | ||
151 | <type name="raw"> | ||
152 | <comment>Variable sized collection of bytes</comment> | ||
153 | <!-- may change this type --> | ||
154 | <lang name="c" type="CAtom" include="Tensor/CXMF/CXMF.h"/> | ||
155 | <lang name="cpp" type="::Tensor::XMF::Atom" include="Tensor/XMF/Atom.h"/> | ||
156 | <lang name="java" type="Atom" include="com.comtechtel.tensor.xmf.Atom"/> | ||
157 | <lang name="node" type="Atom"/> | ||
158 | </type> | ||
159 | |||
160 | <type name="string"> | ||
161 | <comment>Variable sized collection of characters</comment> | ||
162 | <lang name="c" type="CXMFString" include="Tensor/CXMF/CXMFString.h"/> | ||
163 | <lang name="cpp" type="std::string" include="string"/> | ||
164 | <lang name="java" type="XidString" include="com.comtechtel.tensor.xid.XidString"/> | ||
165 | <lang name="node" type="XidString"/> | ||
166 | </type> | ||
167 | |||
168 | <type name="datetime" size="8"> | ||
169 | <comment>nanoseconds since Jan 1, 1970.</comment> | ||
170 | <lang name="c" type="uint64_t" include="stdint.h"/> | ||
171 | <lang name="cpp" type="::Tensor::Types::DateTime" include="Tensor/Types/DateTime.h"/> | ||
172 | <lang name="java" type="XidDateTime" include="com.comtechtel.tensor.xid.XidDateTime"/> | ||
173 | <lang name="node" type="XidDateTime"/> | ||
174 | </type> | ||
175 | |||
176 | <type name="UUID" size="16"> | ||
177 | <comment>16 byte UUID</comment> | ||
178 | <lang name="c" type="UUID" include="Tensor/CXMF/uuid.h"/> | ||
179 | <lang name="cpp" type="::Tensor::Types::UUID" include="Tensor/Types/uuid.h"/> | ||
180 | <lang name="java" type="XidUuid" include="com.comtechtel.tensor.xid.XidUuid"/> | ||
181 | <lang name="node" type="XidUuid"/> | ||
182 | </type> | ||
183 | |||
184 | <type name="uri"> | ||
185 | <comment>Standard Universal Resource Identifier (URI)</comment> | ||
186 | <tag name="TODO" value="Define uri as a custom type. Use string for now."/> | ||
187 | <lang name="c" type="CXMFString" include="Tensor/CXMF/CXMFString.h"/> | ||
188 | <lang name="cpp" type="std::string" include="string"/> | ||
189 | <lang name="java" type="XidString" include="com.comtechtel.tensor.xid.XidString"/> | ||
190 | <lang name="node" type="XidString"/> | ||
191 | </type> | ||
192 | |||
193 | <type name="json"> | ||
194 | <comment>JSON formatted/encoded string</comment> | ||
195 | <tag name="TODO" value="Define json as a custom type. Use string for now."/> | ||
196 | <lang name="c" type="CXMFString" include="Tensor/CXMF/CXMFString.h"/> | ||
197 | <lang name="cpp" type="std::string" include="string"/> | ||
198 | <lang name="java" type="XidString" include="com.comtechtel.tensor.xid.XidString"/> | ||
199 | <lang name="node" type="XidString"/> | ||
200 | </type> | ||
201 | |||
202 | <!-- | ||
203 | ******************************************************* | ||
204 | Encoding Data Types | ||
205 | ******************************************************* | ||
206 | --> | ||
207 | |||
208 | <!-- Encoding format type spec.--> | ||
209 | <type name="EncodingFormat" size="2"> | ||
210 | <comment> | ||
211 | The encoding format determines how element data is run-time encoded within a particular element independent of the | ||
212 | transport encoding. | ||
213 | These values are specified in the "encoding" attribute for elements. Not all encoding formats | ||
214 | are supported by every wireline protocol implementation. Additionally, custom encodings may be | ||
215 | defined to support application defined encodings. Any non-standard encodings must be registered (to avoid collision) | ||
216 | and approved by the appropriate approving authority (e.g. Comtech). Values from 0 to 255 are reserved | ||
217 | for standard-encodings. Custom encodings start at 256(0x0100) and extend to 65535 (0xFFFF).\n | ||
218 | \n | ||
219 | This is not the same as defining in XID a raw datatype or json datatype which are NOT changeable are run-time. | ||
220 | \n | ||
221 | Example: \n | ||
222 | \t The message XMF but a field is defined to be encoded as JSON.\n | ||
223 | \t Likewise, the message is JSON, but a field is run-time encoded to be XMF.\n | ||
224 | \n | ||
225 | Data encoding format type. If 0, value is not encoded. See ResrvedEncodingFormats | ||
226 | for a list of standard format specifiers. | ||
227 | </comment> | ||
228 | <lang name="c" type="uint16_t" include="stdint.h" /> | ||
229 | <lang name="cpp" type="uint16_t" include="cstdint" /> | ||
230 | <lang name="java" type="XidShort" include="com.comtechtel.tensor.xid.XidShort" /> | ||
231 | <lang name="node" type="XidUShort" /> | ||
232 | </type> | ||
233 | |||
234 | <!-- ReservedEncodingFormats standard encoding formats.--> | ||
235 | <enum name="ReservedEncodingFormats" type="Tensor.uint16" default="native"> | ||
236 | <comment> | ||
237 | Reserved encoding formats define standard encodings known to all implementations. | ||
238 | </comment> | ||
239 | <literal name="native" value="0"> | ||
240 | <comment> | ||
241 | Data is not encoded, information is in the default format for the particular wireline interface.\n | ||
242 | This is the default value if not defined explicitly. | ||
243 | </comment> | ||
244 | </literal> | ||
245 | <literal name="raw" value="1"> | ||
246 | <comment> | ||
247 | Data is in an unspecified binary format. The interpretation of the data is | ||
248 | falls to the producer and consumer of the information. | ||
249 | For textual wireline encodings like JSON, the data will be valid within the representation. | ||
250 | </comment> | ||
251 | </literal> | ||
252 | <literal name="xmf" value="2"> | ||
253 | <comment> | ||
254 | Data is XMF binary format. The binary data is structured using atoms and atom lists. | ||
255 | For textual wireline encodings like JSON, this is XMF base64 encoded. | ||
256 | </comment> | ||
257 | </literal> | ||
258 | <literal name="json" value="3"> | ||
259 | <comment> | ||
260 | Data is formatted as JSON compliant ascii text. | ||
261 | </comment> | ||
262 | </literal> | ||
263 | </enum> | ||
264 | </namespace> | ||
265 | </specification> |
TensorLogging.xid
0 → 120000
1 | TensorLogging/V1.0.0/TensorLogging.xid | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="UTF-8" ?> | 1 | <?xml version="1.0" encoding="UTF-8" ?> |
2 | 2 | ||
3 | <specification xmlns="http://xid.location.studio/XID/XtensibleInterfaceDefinition.xsd" | 3 | <!-- |
4 | xmlns:xid="http://xid.location.studio/XID/XtensibleInterfaceDefinition.xsd" | 4 | Copyright (c) 2017, TeleCommunication Systems, Inc., |
5 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | 5 | a wholly-owned subsidiary of Comtech Telecommunications Corp. |
6 | xsi:schemaLocation="http://xid.location.studio/XID/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd" | 6 | and/or affiliates of TeleCommunication Systems, Inc. |
7 | identity="Logging.xid"> | 7 | All rights reserved. |
8 | <title>Tensor Logging Messages</title> | 8 | TeleCommunication Systems, Inc. PROPRIETARY/CONFIDENTIAL. |
9 | <comment> | 9 | Use is subject to license terms included in the distribution. |
10 | This file contains the base type definitions for logging messages and data. All ENT micro-service compliant systems shall support these datatypes | 10 | --> |
11 | for capturing various types of logging information including actionable messages, trace, and usage data. Logging messages are polymorphic and extensible | 11 | |
12 | as needed to support various types of information. | 12 | <specification xmlns="http://xid.location.studio/XID/XtensibleInterfaceDefinition.xsd" |
13 | </comment> | 13 | xmlns:xid="http://xid.location.studio/XID/XtensibleInterfaceDefinition.xsd" |
14 | 14 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
15 | <import ref="http://xid.location.studio/XID/TensorDefinitions.xid" local="TensorDefinitions.xid" /> | 15 | xsi:schemaLocation="http://xid.location.studio/XID/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd" |
16 | 16 | identity="Logging.xid"> | |
17 | <namespace name="Logging"> | 17 | <title>Tensor Logging Messages</title> |
18 | <using namespace="Tensor"/> | 18 | <comment> |
19 | 19 | This file contains the base type definitions for logging messages and data. All ENT micro-service compliant systems shall support these datatypes | |
20 | <!-- | 20 | for capturing various types of logging information including actionable messages, trace, and usage data. Logging messages are polymorphic and extensible |
21 | ******************************************************* | 21 | as needed to support various types of information. |
22 | Enumeration Definitions | 22 | </comment> |
23 | ******************************************************* | 23 | |
24 | --> | 24 | <import ref="TensorDefinitions/V1.0.0/TensorDefinitions.xid" local="TensorDefinitions.xid" /> |
25 | <enum name="MessageType" type="Tensor.uint8" default="undefined"> | 25 | |
26 | <comment> | 26 | <namespace name="Logging"> |
27 | Message types define the base type identifiers for logging messages. These are used to | 27 | <using namespace="Tensor"/> |
28 | identify the type of logging data. The Message type is not a closed set and can be extended as needed. | 28 | |
29 | The types defined here are common to every system. Type values below 64 are reserved for the core logging extensions | 29 | <!-- |
30 | Any non-core message types should define type identifiers greater than 64. | 30 | ******************************************************* |
31 | </comment> | 31 | Enumeration Definitions |
32 | <literal name="undefined" value="0"> | 32 | ******************************************************* |
33 | <comment>Message type is not defined. This is a reserved value and should not be used in most situations.</comment> | 33 | --> |
34 | </literal> | 34 | <enum name="MessageType" type="Tensor.uint8" default="undefined"> |
35 | <literal name="ActionMsg" value="1"> | 35 | <comment> |
36 | <comment>Defines a message that requires some responsive action. See Tensor.Logging.ActionMsg structure for more information.</comment> | 36 | Message types define the base type identifiers for logging messages. These are used to |
37 | </literal> | 37 | identify the type of logging data. The Message type is not a closed set and can be extended as needed. |
38 | <literal name="TraceMsg" value="2"> | 38 | The types defined here are common to every system. Type values below 64 are reserved for the core logging extensions |
39 | <comment>Defines a message capturing software trace data typically used for debugging. See Tensor.Logging.TraceMsg structure for more information.</comment> | 39 | Any non-core message types should define type identifiers greater than 64. |
40 | </literal> | 40 | </comment> |
41 | <literal name="UsageMsg" value="3"> | 41 | <literal name="undefined" value="0"> |
42 | <comment>Defines a message for capturing usage data. See Tensor.Logging.UsageMsg for more information.</comment> | 42 | <comment>Message type is not defined. This is a reserved value and should not be used in most situations.</comment> |
43 | </literal> | 43 | </literal> |
44 | <literal name="MetricMsg" value="4"> | 44 | <literal name="ActionMsg" value="1"> |
45 | <comment>Defines a message for capturing metric data. See Tensor.Logging.MetricMsg for more information.</comment> | 45 | <comment>Defines a message that requires some responsive action. See Tensor.Logging.ActionMsg structure for more information.</comment> |
46 | </literal> | 46 | </literal> |
47 | </enum> | 47 | <literal name="TraceMsg" value="2"> |
48 | 48 | <comment>Defines a message capturing software trace data typically used for debugging. See Tensor.Logging.TraceMsg structure for more information.</comment> | |
49 | <enum name="Severity" type="int8" default="indeterminate"> | 49 | </literal> |
50 | <comment> | 50 | <literal name="UsageMsg" value="3"> |
51 | Severity is defined as part of an Tensor.Logging.ActionMsg describing the severity of the issue. This is an extensible list that can be added to as | 51 | <comment>Defines a message for capturing usage data. See Tensor.Logging.UsageMsg for more information.</comment> |
52 | new severities are determine. In general, try to use the core defined severities or add new core ones as needed. Custom severity should be avoided. If defined, | 52 | </literal> |
53 | however, start with values > 64. Values less than 64 are reserved. | 53 | <literal name="MetricMsg" value="4"> |
54 | </comment> | 54 | <comment>Defines a message for capturing metric data. See Tensor.Logging.MetricMsg for more information.</comment> |
55 | <literal name="indeterminate" value="0"> | 55 | </literal> |
56 | <comment>Severity of the issue is indeterminate.</comment> | 56 | </enum> |
57 | </literal> | 57 | |
58 | <literal name="warning" value="1"> | 58 | <enum name="Severity" type="int8" default="indeterminate"> |
59 | <comment> | 59 | <comment> |
60 | Severity indicates message is a warning regarding the specified issue. Warnings describe a potental issue that | 60 | Severity is defined as part of an Tensor.Logging.ActionMsg describing the severity of the issue. This is an extensible list that can be added to as |
61 | may require additional monitoring over time. However, it is not deemed as having a significant | 61 | new severities are determine. In general, try to use the core defined severities or add new core ones as needed. Custom severity should be avoided. If defined, |
62 | impaction on system operation. | 62 | however, start with values > 64. Values less than 64 are reserved. |
63 | </comment> | 63 | </comment> |
64 | </literal> | 64 | <literal name="indeterminate" value="0"> |
65 | <literal name="minor" value="2"> | 65 | <comment>Severity of the issue is indeterminate.</comment> |
66 | <comment> | 66 | </literal> |
67 | Message is describing a minor issue, which requires some action. A | 67 | <literal name="warning" value="1"> |
68 | minor issue is something that does not have a wide scale impact on system operation. | 68 | <comment> |
69 | For example a minor issue might be something that would affect a single transaction. | 69 | Severity indicates message is a warning regarding the specified issue. Warnings describe a potental issue that |
70 | </comment> | 70 | may require additional monitoring over time. However, it is not deemed as having a significant |
71 | </literal> | 71 | impaction on system operation. |
72 | <literal name="major" value="3"> | 72 | </comment> |
73 | <comment> | 73 | </literal> |
74 | Message is describing a major issue, which requires action. A | 74 | <literal name="minor" value="2"> |
75 | major issue is something that affects the system in a signficant way | 75 | <comment> |
76 | such as having impact on multiple transactions. | 76 | Message is describing a minor issue, which requires some action. A |
77 | </comment> | 77 | minor issue is something that does not have a wide scale impact on system operation. |
78 | </literal> | 78 | For example a minor issue might be something that would affect a single transaction. |
79 | <literal name="critical" value="4"> | 79 | </comment> |
80 | <comment> | 80 | </literal> |
81 | Message is describing a critical issue, which requires immediate action. Critical issues | 81 | <literal name="major" value="3"> |
82 | are typically catastrophic system issues affecting all transactions in a very significant way. | 82 | <comment> |
83 | </comment> | 83 | Message is describing a major issue, which requires action. A |
84 | </literal> | 84 | major issue is something that affects the system in a signficant way |
85 | <literal name="cleared" value="5"> | 85 | such as having impact on multiple transactions. |
86 | <comment>Message is describing an issue has been resolved or no longer requires actions.</comment> | 86 | </comment> |
87 | </literal> | 87 | </literal> |
88 | </enum> | 88 | <literal name="critical" value="4"> |
89 | 89 | <comment> | |
90 | <enum name="Category" type="int8" default="processingError"> | 90 | Message is describing a critical issue, which requires immediate action. Critical issues |
91 | <comment> | 91 | are typically catastrophic system issues affecting all transactions in a very significant way. |
92 | The category decribes the general category for an ActionMsg. This is an extensible list that can be added to as | 92 | </comment> |
93 | new categories are needed. In general, try to use the core defined categories or add new ones as needed. Custom categories should start with | 93 | </literal> |
94 | values > 64. Values less than 64 are reserved. | 94 | <literal name="cleared" value="5"> |
95 | </comment> | 95 | <comment>Message is describing an issue has been resolved or no longer requires actions.</comment> |
96 | <literal name ="undefined" value ="0"> | 96 | </literal> |
97 | <comment>Action category is undefined or not known.</comment> | 97 | </enum> |
98 | </literal> | 98 | |
99 | <literal name="communications" value="1"> | 99 | <enum name="Category" type="int8" default="processingError"> |
100 | <comment>A communications and/or networking related issue.</comment> | 100 | <comment> |
101 | </literal> | 101 | The category decribes the general category for an ActionMsg. This is an extensible list that can be added to as |
102 | <literal name="qualityOfService" value="2"> | 102 | new categories are needed. In general, try to use the core defined categories or add new ones as needed. Custom categories should start with |
103 | <comment>A quality of service related issue.</comment> | 103 | values > 64. Values less than 64 are reserved. |
104 | </literal> | 104 | </comment> |
105 | <literal name="processingError" value="3"> | 105 | <literal name ="undefined" value ="0"> |
106 | <comment>A processing or runtime related issue.</comment> | 106 | <comment>Action category is undefined or not known.</comment> |
107 | </literal> | 107 | </literal> |
108 | <literal name="equipment" value="4"> | 108 | <literal name="communications" value="1"> |
109 | <comment>An equipment related issue.</comment> | 109 | <comment>A communications and/or networking related issue.</comment> |
110 | </literal> | 110 | </literal> |
111 | <literal name="environmental" value="5"> | 111 | <literal name="qualityOfService" value="2"> |
112 | <comment>A environment related issue.</comment> | 112 | <comment>A quality of service related issue.</comment> |
113 | </literal> | 113 | </literal> |
114 | </enum> | 114 | <literal name="processingError" value="3"> |
115 | 115 | <comment>A processing or runtime related issue.</comment> | |
116 | <enum name="TraceLevel" type="Tensor.int8" default="undefined"> | 116 | </literal> |
117 | <comment>Trace level defines the level of tracing information reported. This allows for filtering of information based on rank.</comment> | 117 | <literal name="equipment" value="4"> |
118 | <literal name="undefined" value="0"> | 118 | <comment>An equipment related issue.</comment> |
119 | <comment>Trace level is not defined.</comment> | 119 | </literal> |
120 | </literal> | 120 | <literal name="environmental" value="5"> |
121 | <literal name="overview" value="1"> | 121 | <comment>A environment related issue.</comment> |
122 | <comment>Information contained in the trace message is high-level or summary.</comment> | 122 | </literal> |
123 | </literal> | 123 | </enum> |
124 | <literal name="trace" value="2"> | 124 | |
125 | <comment>Information contained in the trace message is related to program flow and sequencing.</comment> | 125 | <enum name="TraceLevel" type="Tensor.int8" default="undefined"> |
126 | </literal> | 126 | <comment>Trace level defines the level of tracing information reported. This allows for filtering of information based on rank.</comment> |
127 | <literal name="detail" value="3"> | 127 | <literal name="undefined" value="0"> |
128 | <comment>Information contained in the trace message is detailed information.</comment> | 128 | <comment>Trace level is not defined.</comment> |
129 | </literal> | 129 | </literal> |
130 | <literal name="debug" value="4"> | 130 | <literal name="overview" value="1"> |
131 | <comment>Information contained in the trace message contains debugging information.</comment> | 131 | <comment>Information contained in the trace message is high-level or summary.</comment> |
132 | </literal> | 132 | </literal> |
133 | </enum> | 133 | <literal name="trace" value="2"> |
134 | 134 | <comment>Information contained in the trace message is related to program flow and sequencing.</comment> | |
135 | <struct name="DebugInfo"> | 135 | </literal> |
136 | <comment> | 136 | <literal name="detail" value="3"> |
137 | Structure captures the file and line number information for Trace Messages. This provides information about where the trace message was sent. | 137 | <comment>Information contained in the trace message is detailed information.</comment> |
138 | </comment> | 138 | </literal> |
139 | <elem name="file" type="Tensor.string" multiplicity="1"> | 139 | <literal name="debug" value="4"> |
140 | <comment>File name where this message was logged.</comment> | 140 | <comment>Information contained in the trace message contains debugging information.</comment> |
141 | </elem> | 141 | </literal> |
142 | <elem name="line" type="Tensor.uint32" multiplicity="1"> | 142 | </enum> |
143 | <comment>Line number in file where this message is logged.</comment> | 143 | |
144 | </elem> | 144 | <struct name="DebugInfo"> |
145 | <elem name="thid" type="Tensor.uint64" multiplicity="1" default="0"> | 145 | <comment> |
146 | <comment>Optional Thread ID, if not specified, default value is 0.</comment> | 146 | Structure captures the file and line number information for Trace Messages. This provides information about where the trace message was sent. |
147 | </elem> | 147 | </comment> |
148 | 148 | <elem name="file" type="Tensor.string" multiplicity="1" ord="64"> | |
149 | </struct> | 149 | <comment>File name where this message was logged.</comment> |
150 | 150 | </elem> | |
151 | <!-- | 151 | <elem name="line" type="Tensor.uint32" multiplicity="1" ord="65"> |
152 | ******************************************************* | 152 | <comment>Line number in file where this message is logged.</comment> |
153 | Metric Structure Definitions | 153 | </elem> |
154 | ******************************************************* | 154 | <elem name="thid" type="Tensor.uint64" multiplicity="1" default="0" ord="66"> |
155 | --> | 155 | <comment>Optional Thread ID, if not specified, default value is 0.</comment> |
156 | 156 | </elem> | |
157 | <enum name="MetricType" type="Tensor.uint8" default="undefined"> | 157 | |
158 | <literal name="undefined" value="0"> | 158 | </struct> |
159 | <comment>Metric type is not defined. This is a reserved value and should not be used in most situations.</comment> | 159 | |
160 | </literal> | 160 | <!-- |
161 | <literal name="PegCount" value="1"> | 161 | ******************************************************* |
162 | <comment>Defines a simple monotonically incremented counter.</comment> | 162 | Metric Structure Definitions |
163 | </literal> | 163 | ******************************************************* |
164 | <literal name="AppMetrics" value="2"> | 164 | --> |
165 | <comment>Defines a complex metric measuring duration and concurrency.</comment> | 165 | |
166 | </literal> | 166 | <enum name="MetricType" type="Tensor.uint8" default="undefined"> |
167 | </enum> | 167 | <literal name="undefined" value="0"> |
168 | 168 | <comment>Metric type is not defined. This is a reserved value and should not be used in most situations.</comment> | |
169 | <struct name="Metric"> | 169 | </literal> |
170 | <elem name="metricType" type="MetricType" multiplicity="1" rttd="true"> | 170 | <literal name="PegCount" value="1"> |
171 | <comment>This specifies the type of the reported metric.</comment> | 171 | <comment>Defines a simple monotonically incremented counter.</comment> |
172 | </elem> | 172 | </literal> |
173 | <elem name="name" type="string" multiplicity="1"> | 173 | <literal name="AppMetrics" value="2"> |
174 | <comment>Name of the reported metric.</comment> | 174 | <comment>Defines a complex metric measuring duration and concurrency.</comment> |
175 | </elem> | 175 | </literal> |
176 | </struct> | 176 | </enum> |
177 | 177 | ||
178 | <struct name="PegCount" type="Metric" rttkey="Logging.MetricType.PegCount"> | 178 | <struct name="Metric"> |
179 | <elem name="value" type="uint32" multiplicity="1"> | 179 | <elem name="metricType" type="MetricType" multiplicity="1" rttd="true" ord="64"> |
180 | <comment>Value of peg count since last reporting.</comment> | 180 | <comment>This specifies the type of the reported metric.</comment> |
181 | </elem> | 181 | </elem> |
182 | </struct> | 182 | <elem name="name" type="string" multiplicity="1" ord="65"> |
183 | 183 | <comment>Name of the reported metric.</comment> | |
184 | <struct name="AppMetrics" type="Metric" rttkey="Logging.MetricType.AppMetrics"> | 184 | </elem> |
185 | <elem name="totalCount" type="uint32" multiplicity="1"> | 185 | </struct> |
186 | <comment>Total count of invocations since last reporting.</comment> | 186 | |
187 | </elem> | 187 | <struct name="PegCount" type="Metric" rttkey="Logging.MetricType.PegCount"> |
188 | <elem name="currentCount" type="uint32" multiplicity="1"> | 188 | <elem name="value" type="uint32" multiplicity="1" ord="80"> |
189 | <comment>concurrent invocations at time of reporting.</comment> | 189 | <comment>Value of peg count since last reporting.</comment> |
190 | </elem> | 190 | </elem> |
191 | <elem name="peakCount" type="uint32" multiplicity="1"> | 191 | </struct> |
192 | <comment>Peak concurrent invocations since last reporting.</comment> | 192 | |
193 | </elem> | 193 | <struct name="AppMetrics" type="Metric" rttkey="Logging.MetricType.AppMetrics"> |
194 | <elem name="totalTime" type="uint64" multiplicity="1"> | 194 | <elem name="totalCount" type="uint32" multiplicity="1" ord="80"> |
195 | <comment>Total time spent on invocations in nanoseconds since last reporting.</comment> | 195 | <comment>Total count of invocations since last reporting.</comment> |
196 | </elem> | 196 | </elem> |
197 | <elem name="peakTime" type="uint64" multiplicity="1"> | 197 | <elem name="currentCount" type="uint32" multiplicity="1" ord="81"> |
198 | <comment>Peak time for an invocation in nanoseconds since last reporting.</comment> | 198 | <comment>concurrent invocations at time of reporting.</comment> |
199 | </elem> | 199 | </elem> |
200 | <elem name="successCount" type="uint32" multiplicity="1"> | 200 | <elem name="peakCount" type="uint32" multiplicity="1" ord="82"> |
201 | <comment>Count of successful invocations since last reporting.</comment> | 201 | <comment>Peak concurrent invocations since last reporting.</comment> |
202 | </elem> | 202 | </elem> |
203 | <elem name="failureCount" type="uint32" multiplicity="1"> | 203 | <elem name="totalTime" type="uint64" multiplicity="1" ord="83"> |
204 | <comment>Count of failed invocations since last reporting.</comment> | 204 | <comment>Total time spent on invocations in nanoseconds since last reporting.</comment> |
205 | </elem> | 205 | </elem> |
206 | </struct> | 206 | <elem name="peakTime" type="uint64" multiplicity="1" ord="84"> |
207 | 207 | <comment>Peak time for an invocation in nanoseconds since last reporting.</comment> | |
208 | 208 | </elem> | |
209 | 209 | <elem name="successCount" type="uint32" multiplicity="1" ord="85"> | |
210 | <!-- | 210 | <comment>Count of successful invocations since last reporting.</comment> |
211 | ******************************************************* | 211 | </elem> |
212 | Message Structure Definitions | 212 | <elem name="failureCount" type="uint32" multiplicity="1" ord="86"> |
213 | ******************************************************* | 213 | <comment>Count of failed invocations since last reporting.</comment> |
214 | --> | 214 | </elem> |
215 | 215 | </struct> | |
216 | <struct name="MessageBase"> | 216 | |
217 | <comment> | 217 | |
218 | Base type for all messages. This contains only the polymorphic type data. The structure Message derives from this | 218 | |
219 | structure and provides common fields typically useful in logging related applications. Derive from this structure | 219 | <!-- |
220 | if messages are related to logging but do not require the standard fields. It is recommended that most specializations | 220 | ******************************************************* |
221 | should start with Message as the base type. | 221 | Message Structure Definitions |
222 | </comment> | 222 | ******************************************************* |
223 | <elem name="type" type="MessageType" multiplicity="1" rttd="true"> | 223 | --> |
224 | <comment> This specifies the type of message.</comment> | 224 | |
225 | </elem> | 225 | <struct name="MessageBase"> |
226 | <elem name="date" type="datetime" multiplicity="1"> | 226 | <comment> |
227 | <comment>The date/time the message occured.</comment> | 227 | Base type for all messages. This contains only the polymorphic type data. The structure Message derives from this |
228 | </elem> | 228 | structure and provides common fields typically useful in logging related applications. Derive from this structure |
229 | <elem name="source" type="Tensor.uri" multiplicity="1"> | 229 | if messages are related to logging but do not require the standard fields. It is recommended that most specializations |
230 | <comment>URI Identifying name of the component or process logging the message.</comment> | 230 | should start with Message as the base type. |
231 | </elem> | 231 | </comment> |
232 | <elem name="info" type="string" multiplicity="0..1"> | 232 | <elem name="type" type="MessageType" multiplicity="1" rttd="true" ord="64"> |
233 | <comment>Optional free form string data.</comment> | 233 | <comment> This specifies the type of message.</comment> |
234 | </elem> | 234 | </elem> |
235 | <elem name="data" type="Tensor.json" multiplicity="0..1"> | 235 | <elem name="date" type="datetime" multiplicity="1" ord="65"> |
236 | <comment>Optional structured data.</comment> | 236 | <comment>The date/time the message occured.</comment> |
237 | </elem> | 237 | </elem> |
238 | <elem name="debug" type="DebugInfo" multiplicity="0..1"> | 238 | <elem name="source" type="Tensor.uri" multiplicity="1" ord="66"> |
239 | <comment>Optional debug information for message.</comment> | 239 | <comment>URI Identifying name of the component or process logging the message.</comment> |
240 | </elem> | 240 | </elem> |
241 | </struct> | 241 | <elem name="info" type="string" multiplicity="0..1" ord="67"> |
242 | 242 | <comment>Optional free form string data.</comment> | |
243 | <!-- Message type --> | 243 | </elem> |
244 | <struct name="TransactionMsg" type="MessageBase"> | 244 | <elem name="data" type="Tensor.json" multiplicity="0..1" ord="68"> |
245 | <comment> | 245 | <comment>Optional structured data.</comment> |
246 | Basic logging message data common to all types of logging. This specializes MessageBase and is the standard logging message. Create custom message types as needed; however, consider | 246 | </elem> |
247 | specializing from the core defined sub-types of ActionMsg, Trace, or Usage depending upon need. In most cases, you should not use this message directly. | 247 | <elem name="debug" type="DebugInfo" multiplicity="0..1" ord="69"> |
248 | </comment> | 248 | <comment>Optional debug information for message.</comment> |
249 | <elem name="tid" type="Tensor.UUID" multiplicity="1"> | 249 | </elem> |
250 | <comment>Unique ID identifying the internal transaction related to the message.</comment> | 250 | </struct> |
251 | </elem> | 251 | |
252 | <elem name="etid" type="string" multiplicity="0..1"> | 252 | <!-- Message type --> |
253 | <comment>Optional externally defined transaction ID.</comment> | 253 | <struct name="TransactionMsg" type="MessageBase"> |
254 | </elem> | 254 | <comment> |
255 | <elem name="acctid" type="string" multiplicity="0..1"> | 255 | Basic logging message data common to all types of logging. This specializes MessageBase and is the standard logging message. Create custom message types as needed; however, consider |
256 | <comment>Optional externally defined account/group identifier.</comment> | 256 | specializing from the core defined sub-types of ActionMsg, Trace, or Usage depending upon need. In most cases, you should not use this message directly. |
257 | </elem> | 257 | </comment> |
258 | <elem name="devid" type="string" multiplicity="0..1"> | 258 | <elem name="tid" type="Tensor.UUID" multiplicity="1" ord="80"> |
259 | <comment>Optional externally defined device identifier.</comment> | 259 | <comment>Unique ID identifying the internal transaction related to the message.</comment> |
260 | </elem> | 260 | </elem> |
261 | <elem name="appid" type="string" multiplicity="0..1"> | 261 | <elem name="etid" type="string" multiplicity="0..1" ord="81"> |
262 | <comment>Optional externally defined application (or application key) identifier.</comment> | 262 | <comment>Optional externally defined transaction ID.</comment> |
263 | </elem> | 263 | </elem> |
264 | 264 | <elem name="acctid" type="string" multiplicity="0..1" ord="82"> | |
265 | </struct> | 265 | <comment>Optional externally defined account/group identifier.</comment> |
266 | 266 | </elem> | |
267 | <!-- ActionMsg type --> | 267 | <elem name="devid" type="string" multiplicity="0..1" ord="83"> |
268 | <struct name="ActionMsg" type="TransactionMsg" rttkey="Logging.MessageType.ActionMsg"> | 268 | <comment>Optional externally defined device identifier.</comment> |
269 | <comment> | 269 | </elem> |
270 | A message that requires another system/user to respond with some action. | 270 | <elem name="appid" type="string" multiplicity="0..1" ord="84"> |
271 | </comment> | 271 | <comment>Optional externally defined application (or application key) identifier.</comment> |
272 | <elem name="id" type="Tensor.uint32" multiplicity="1"> | 272 | </elem> |
273 | <comment>Error code identifying the fault type</comment> | 273 | |
274 | </elem> | 274 | </struct> |
275 | <elem name="severity" type="Severity" multiplicity="1"/> | 275 | |
276 | <elem name="category" type="Category" multiplicity="1"/> | 276 | <!-- ActionMsg type --> |
277 | <elem name="iid" type="Tensor.uri" multiplicity="0..1"> | 277 | <struct name="ActionMsg" type="TransactionMsg" rttkey="Logging.MessageType.ActionMsg"> |
278 | <comment>Optional incident identifier. Should uniquely define the action issue for future reference.</comment> | 278 | <comment> |
279 | </elem> | 279 | A message that requires another system/user to respond with some action. |
280 | 280 | </comment> | |
281 | </struct> | 281 | <elem name="id" type="Tensor.uri" multiplicity="1" ord="96"> |
282 | 282 | <comment>Error code identifying the fault type</comment> | |
283 | <!-- TraceMsg type --> | 283 | </elem> |
284 | <struct name="TraceMsg" type="TransactionMsg" rttkey="Logging.MessageType.TraceMsg"> | 284 | <elem name="severity" type="Severity" multiplicity="1" ord="97"/> |
285 | <comment> | 285 | <elem name="category" type="Category" multiplicity="1" ord="98"/> |
286 | Trace message for general logging and reporting of information | 286 | <elem name="iid" type="Tensor.uri" multiplicity="0..1" ord="99"> |
287 | </comment> | 287 | <comment>Optional incident identifier used to identify an action instance uniquely. This is needed when there are stateful clearing events.</comment> |
288 | <elem name="level" type="TraceLevel" multiplicity="1"> | 288 | </elem> |
289 | <comment>Indicates the level of the trace: overview is the highest level and debug is the lowest</comment> | 289 | </struct> |
290 | </elem> | 290 | |
291 | </struct> | 291 | <!-- TraceMsg type --> |
292 | 292 | <struct name="TraceMsg" type="TransactionMsg" rttkey="Logging.MessageType.TraceMsg"> | |
293 | <!-- UsageMsg type --> | 293 | <comment> |
294 | <struct name="UsageMsg" type="TransactionMsg" rttkey="Logging.MessageType.UsageMsg"> | 294 | Trace message for general logging and reporting of information |
295 | <comment> | 295 | </comment> |
296 | Message capturing usage information for reporting statistical, transactional, edge, location, or other useful information generated in the normal | 296 | <elem name="level" type="TraceLevel" multiplicity="1" ord="96"> |
297 | operation of the system. | 297 | <comment>Indicates the level of the trace: overview is the highest level and debug is the lowest</comment> |
298 | </comment> | 298 | </elem> |
299 | <elem name="uri" type="Tensor.uri" multiplicity="1" rttd="true"> | 299 | </struct> |
300 | <comment> Usage id specific to a type of usage information. Can be general or application specific.</comment> | 300 | |
301 | </elem> | 301 | <!-- UsageMsg type --> |
302 | </struct> | 302 | <struct name="UsageMsg" type="TransactionMsg" rttkey="Logging.MessageType.UsageMsg"> |
303 | 303 | <comment> | |
304 | <!-- MetricMsg type --> | 304 | Message capturing usage information for reporting statistical, transactional, edge, location, or other useful information generated in the normal |
305 | <struct name="MetricMsg" type="MessageBase" rttkey="Logging.MessageType.MetricMsg"> | 305 | operation of the system. |
306 | <elem name="start" type="datetime" multiplicity="1"> | 306 | </comment> |
307 | <comment>The date/time of the start of the report interval. date is end the end of the report interval.</comment> | 307 | <elem name="uri" type="Tensor.uri" multiplicity="1" rttd="true" ord="96"> |
308 | </elem> | 308 | <comment> Usage id specific to a type of usage information. Can be general or application specific.</comment> |
309 | <elem name="duration" type="uint16" multiplicity="1"> | 309 | </elem> |
310 | <tag name="unit" value="sec"/> | 310 | </struct> |
311 | <comment>The interval in seconds for the metric report.</comment> | 311 | |
312 | </elem> | 312 | <!-- MetricMsg type --> |
313 | <elem name="metrics" type="Metric" multiplicity="1..*"> | 313 | <struct name="MetricMsg" type="MessageBase" rttkey="Logging.MessageType.MetricMsg"> |
314 | <comment>List of metrics being reported.</comment> | 314 | <elem name="start" type="datetime" multiplicity="1" ord="80"> |
315 | </elem> | 315 | <comment>The date/time of the start of the report interval. date is end the end of the report interval.</comment> |
316 | </struct> | 316 | </elem> |
317 | 317 | <elem name="duration" type="uint16" multiplicity="1" ord="81"> | |
318 | <!-- | 318 | <tag name="unit" value="sec"/> |
319 | ******************************************************* | 319 | <comment>The interval in seconds for the metric report.</comment> |
320 | Standard Usage Definitions | 320 | </elem> |
321 | ******************************************************* | 321 | <elem name="metrics" type="Metric" multiplicity="1..*" polymorphic="true" ord="82"> |
322 | --> | 322 | <comment>List of metrics being reported.</comment> |
323 | 323 | </elem> | |
324 | <!--TaskReport Msg--> | 324 | </struct> |
325 | <struct name="TaskReport" type="Logging.UsageMsg" rttkey='"tpf://taskrpt"'> | 325 | |
326 | <comment> | 326 | <!-- |
327 | Message reports processing task result data. Tasks are any execution unit the | 327 | ******************************************************* |
328 | that is deemed to have a specific beginning and end. This is a fairly generic | 328 | Standard Usage Definitions |
329 | definition making the usage report suitable for a variety of applications. | 329 | ******************************************************* |
330 | </comment> | 330 | --> |
331 | <elem name="taskid" type="string" multiplicity="1"> | 331 | |
332 | <comment> | 332 | <!--TaskReport Msg--> |
333 | The unique tasks identifier. A source may have multiple tasks, this field assigns | 333 | <struct name="TaskReport" type="Logging.UsageMsg" rttkey='"tpf://taskrpt"'> |
334 | an identifier that uniquely characterizes what the task was that was accomplished. | 334 | <comment> |
335 | </comment> | 335 | Message reports processing task result data. Tasks are any execution unit the |
336 | </elem> | 336 | that is deemed to have a specific beginning and end. This is a fairly generic |
337 | <elem name="start" type="datetime" multiplicity="1"> | 337 | definition making the usage report suitable for a variety of applications. |
338 | <comment> | 338 | </comment> |
339 | The start time at which the processor is used. | 339 | <elem name="taskid" type="string" multiplicity="1" ord="112"> |
340 | </comment> | 340 | <comment> |
341 | </elem> | 341 | The unique tasks identifier. A source may have multiple tasks, this field assigns |
342 | <elem name="duration" type="uint32" multiplicity="1"> | 342 | an identifier that uniquely characterizes what the task was that was accomplished. |
343 | <tag name="unit" value="usec"/> | 343 | </comment> |
344 | <comment> | 344 | </elem> |
345 | The duration of the processing in microseconds. This is not meant to be a high | 345 | <elem name="start" type="datetime" multiplicity="1" ord="113"> |
346 | resolution duration monitoring, implement a metric counter for precise timing data. | 346 | <comment> |
347 | </comment> | 347 | The start time at which the processor is used. |
348 | </elem> | 348 | </comment> |
349 | <elem name="status" type="ResultCode" multiplicity="1"> | 349 | </elem> |
350 | <comment>The task result code.</comment> | 350 | <elem name="duration" type="uint32" multiplicity="1" ord="114"> |
351 | </elem> | 351 | <tag name="unit" value="usec"/> |
352 | </struct> | 352 | <comment> |
353 | 353 | The duration of the processing in microseconds. This is not meant to be a high | |
354 | </namespace> | 354 | resolution duration monitoring, implement a metric counter for precise timing data. |
355 | </specification> | 355 | </comment> |
356 | </elem> | ||
357 | <elem name="status" type="ResultCode" multiplicity="1" ord="115"> | ||
358 | <comment>The task result code.</comment> | ||
359 | </elem> | ||
360 | </struct> | ||
361 | |||
362 | </namespace> | ||
363 | </specification> | ... | ... |
1 | <?xml version="1.0" encoding="UTF-8" ?> | ||
2 | |||
3 | <!-- | ||
4 | Copyright (c) 2016, 2017, TeleCommunication Systems, Inc., | ||
5 | a wholly-owned subsidiary of Comtech Telecommunications Corp. | ||
6 | and/or affiliates of TeleCommunication Systems, Inc. | ||
7 | All rights reserved. | ||
8 | TeleCommunication Systems, Inc. PROPRIETARY/CONFIDENTIAL. | ||
9 | Use is subject to license terms included in the distribution. | ||
10 | --> | ||
11 | |||
12 | <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" | ||
13 | targetNamespace="http://xid.location.studio/XID/XtensibleInterfaceDefinition.xsd" | ||
14 | xmlns="http://xid.location.studio/XID/XtensibleInterfaceDefinition.xsd" | ||
15 | elementFormDefault="qualified"> | ||
16 | |||
17 | <xs:annotation> | ||
18 | <xs:documentation xml:lang="en"> | ||
19 | XtensibleInterfaceDefinition XML Schema Definition. | ||
20 | </xs:documentation> | ||
21 | </xs:annotation> | ||
22 | |||
23 | <xs:element name="specification" type="Specification"/> | ||
24 | |||
25 | <xs:complexType name="Specification"> | ||
26 | <xs:sequence> | ||
27 | <xs:element maxOccurs="1" minOccurs="1" name="title" type="xs:normalizedString"/> | ||
28 | <xs:choice maxOccurs="unbounded" minOccurs="0"> | ||
29 | <xs:element maxOccurs="unbounded" minOccurs="0" name="comment" type="xs:string"/> | ||
30 | <xs:element maxOccurs="unbounded" minOccurs="0" name="artifact" type="xs:anyURI"/> | ||
31 | <xs:element maxOccurs="unbounded" minOccurs="0" name="tag" type="Tag"/> | ||
32 | </xs:choice> | ||
33 | <xs:element maxOccurs="unbounded" minOccurs="0" name="import" type="Import"/> | ||
34 | <xs:choice maxOccurs="unbounded" minOccurs="0"> | ||
35 | <xs:element name="using" maxOccurs="unbounded" minOccurs="0" type="Using"/> | ||
36 | <xs:element maxOccurs="unbounded" minOccurs="0" name="namespace" type="Namespace"/> | ||
37 | </xs:choice> | ||
38 | </xs:sequence> | ||
39 | <xs:attribute name="identity" use="required" type="NSName"> | ||
40 | <xs:annotation> | ||
41 | <xs:documentation xml:lang="en"> | ||
42 | Unique name for this spec (e.g. com.company.spec-name) | ||
43 | </xs:documentation> | ||
44 | </xs:annotation> | ||
45 | </xs:attribute> | ||
46 | |||
47 | </xs:complexType> | ||
48 | |||
49 | <xs:complexType name="Element"> | ||
50 | <xs:choice maxOccurs="unbounded" minOccurs="0"> | ||
51 | <xs:element maxOccurs="unbounded" minOccurs="0" name="comment" type="xs:string"/> | ||
52 | <xs:element maxOccurs="unbounded" minOccurs="0" name="artifact" type="xs:anyURI"/> | ||
53 | <xs:element maxOccurs="unbounded" minOccurs="0" name="tag" type="Tag"/> | ||
54 | </xs:choice> | ||
55 | </xs:complexType> | ||
56 | |||
57 | <xs:complexType name="Import"> | ||
58 | <xs:complexContent> | ||
59 | <xs:extension base="Element"> | ||
60 | <xs:attribute name="ref" use="required" type="xs:anyURI" /> | ||
61 | <xs:attribute name="local" use="optional" type="xs:normalizedString" /> | ||
62 | </xs:extension> | ||
63 | </xs:complexContent> | ||
64 | </xs:complexType> | ||
65 | |||
66 | <xs:simpleType name="NSName"> | ||
67 | <xs:restriction base="xs:token"> | ||
68 | <xs:pattern value="([a-zA-Z][a-zA-Z0-9_]*.)*[a-zA-Z][a-zA-Z0-9_]*"> | ||
69 | <xs:annotation> | ||
70 | <xs:documentation xml:lang="en"> | ||
71 | Fully qualified name (e.g. "SomeNamespace.SomeName" ) or base name (e.g. "SomeName"). | ||
72 | </xs:documentation> | ||
73 | </xs:annotation> | ||
74 | </xs:pattern> | ||
75 | </xs:restriction> | ||
76 | </xs:simpleType> | ||
77 | |||
78 | <xs:simpleType name="PName"> | ||
79 | <xs:restriction base="NSName"> | ||
80 | <xs:pattern value="[a-zA-Z][a-zA-Z0-9_]*"> | ||
81 | <xs:annotation> | ||
82 | <xs:documentation xml:lang="en"> | ||
83 | base name (e.g. "SomeName"). | ||
84 | </xs:documentation> | ||
85 | </xs:annotation> | ||
86 | </xs:pattern> | ||
87 | </xs:restriction> | ||
88 | </xs:simpleType> | ||
89 | |||
90 | |||
91 | <xs:complexType name="DeclarationBase"> | ||
92 | <xs:complexContent> | ||
93 | <xs:extension base="Element"> | ||
94 | <xs:sequence> | ||
95 | <xs:choice maxOccurs="unbounded" minOccurs="0"> | ||
96 | <xs:element name="using" maxOccurs="unbounded" minOccurs="0" type="Using"/> | ||
97 | <xs:element name="enum" maxOccurs="unbounded" minOccurs="0" type="Enumeration"/> | ||
98 | <xs:element name="type" maxOccurs="unbounded" minOccurs="0" type="Type"/> | ||
99 | <xs:element name="array" maxOccurs="unbounded" minOccurs="0" type="Array"/> | ||
100 | <xs:element name="struct" maxOccurs="unbounded" minOccurs="0" type="Structure"/> | ||
101 | </xs:choice> | ||
102 | </xs:sequence> | ||
103 | </xs:extension> | ||
104 | </xs:complexContent> | ||
105 | </xs:complexType> | ||
106 | |||
107 | <xs:complexType name="Namespace"> | ||
108 | <xs:complexContent> | ||
109 | <xs:extension base="DeclarationBase"> | ||
110 | <xs:sequence> | ||
111 | <xs:element name="interface" maxOccurs="unbounded" minOccurs="0" type="Interface"/> | ||
112 | </xs:sequence> | ||
113 | <xs:attribute name="name" use="required" type="NSName" /> | ||
114 | </xs:extension> | ||
115 | </xs:complexContent> | ||
116 | </xs:complexType> | ||
117 | |||
118 | <xs:complexType name="Using"> | ||
119 | <xs:complexContent> | ||
120 | <xs:extension base="Element"> | ||
121 | <xs:attribute name="namespace" use="required" type="NSName"/> | ||
122 | </xs:extension> | ||
123 | </xs:complexContent> | ||
124 | </xs:complexType> | ||
125 | |||
126 | <xs:complexType name="TypeBase"> | ||
127 | <xs:complexContent> | ||
128 | <xs:extension base="Element"> | ||
129 | <xs:attribute name="name" use="required" type="PName" /> | ||
130 | <xs:attribute name="size" default="-1" type="Size"> | ||
131 | <xs:annotation> | ||
132 | <xs:documentation xml:lang="en"> | ||
133 | "size" is used to denote fixed sized types. | ||
134 | Only fixed size types can be used in array and packed struct. | ||
135 | Array with a fixed size (dimension) is a fixed sized type, | ||
136 | and can be further used in an array or packed struct. | ||
137 | </xs:documentation> | ||
138 | </xs:annotation> | ||
139 | </xs:attribute> | ||
140 | </xs:extension> | ||
141 | </xs:complexContent> | ||
142 | </xs:complexType> | ||
143 | |||
144 | |||
145 | <xs:complexType name="Type"> | ||
146 | <xs:complexContent> | ||
147 | <xs:extension base="TypeBase"> | ||
148 | <xs:sequence> | ||
149 | <xs:element name="lang" maxOccurs="unbounded" minOccurs="0" type="TypeLang"/> | ||
150 | </xs:sequence> | ||
151 | </xs:extension> | ||
152 | </xs:complexContent> | ||
153 | </xs:complexType> | ||
154 | |||
155 | <xs:complexType name="TypeLang"> | ||
156 | <xs:complexContent> | ||
157 | <xs:extension base="Element"> | ||
158 | <xs:attribute name="name" use="required" type="xs:string" /> | ||
159 | <xs:attribute name="type" use="required" type="xs:string" /> | ||
160 | <xs:attribute name="include" use="optional" type="xs:string"> | ||
161 | <xs:annotation> | ||
162 | <xs:documentation xml:lang="en"> | ||
163 | "include" content is dependent on the language. | ||
164 | "size" is used to denote fixed sized types. | ||
165 | Only fixed size types can be used in array and packed struct. | ||
166 | Array with a fixed size (dimension) is a fixed sized type, | ||
167 | and can be further used in an array or packed struct. | ||
168 | </xs:documentation> | ||
169 | </xs:annotation> | ||
170 | </xs:attribute> | ||
171 | </xs:extension> | ||
172 | </xs:complexContent> | ||
173 | </xs:complexType> | ||
174 | |||
175 | <xs:complexType name="DeclarationTypeBase"> | ||
176 | <xs:complexContent> | ||
177 | <xs:extension base="TypeBase"> | ||
178 | <xs:sequence> | ||
179 | <xs:choice maxOccurs="unbounded" minOccurs="0"> | ||
180 | <xs:element name="using" maxOccurs="unbounded" minOccurs="0" type="Using"/> | ||
181 | <xs:element name="enum" maxOccurs="unbounded" minOccurs="0" type="Enumeration"/> | ||
182 | <xs:element name="type" maxOccurs="unbounded" minOccurs="0" type="Type"/> | ||
183 | <xs:element name="array" maxOccurs="unbounded" minOccurs="0" type="Array"/> | ||
184 | <xs:element name="struct" maxOccurs="unbounded" minOccurs="0" type="Structure"/> | ||
185 | </xs:choice> | ||
186 | </xs:sequence> | ||
187 | </xs:extension> | ||
188 | </xs:complexContent> | ||
189 | </xs:complexType> | ||
190 | |||
191 | <xs:complexType name="Structure"> | ||
192 | <xs:complexContent> | ||
193 | <xs:extension base="DeclarationTypeBase"> | ||
194 | <xs:sequence> | ||
195 | <xs:element name="elem" maxOccurs="unbounded" minOccurs="0" type="Elem"/> | ||
196 | </xs:sequence> | ||
197 | <xs:attribute name="type" use="optional" type="NSName"/> | ||
198 | <xs:attribute name="rttkey" use="optional" type="xs:string"> | ||
199 | <xs:annotation> | ||
200 | <xs:documentation xml:lang="en"> | ||
201 | rttkey defines the key value used to identify this | ||
202 | type from other types in the inheritance chain. | ||
203 | This key value is used to generate and register a type | ||
204 | specific factory. | ||
205 | </xs:documentation> | ||
206 | </xs:annotation> | ||
207 | </xs:attribute> | ||
208 | <xs:attribute name="pack" default="false" type="xs:boolean"> | ||
209 | <xs:annotation> | ||
210 | <xs:documentation xml:lang="en"> | ||
211 | Inherited "pack" takes prescedence. | ||
212 | If "pack" is true, all elems must be a fixed sized type and "ord" on elems are ignored. | ||
213 | "pack" impacts the XMF encoding. | ||
214 | </xs:documentation> | ||
215 | </xs:annotation> | ||
216 | </xs:attribute> | ||
217 | </xs:extension> | ||
218 | </xs:complexContent> | ||
219 | </xs:complexType> | ||
220 | |||
221 | <xs:complexType name="ExtStruct"> | ||
222 | <xs:complexContent> | ||
223 | <!-- This will eventually be a Structure derivative --> | ||
224 | <!-- Structure requires <elem> and has attribute "inherit" ... which should change to "type" --> | ||
225 | <xs:extension base="Structure"> | ||
226 | <xs:attribute name="sid" use="optional" default="0" type="IntegerOrHex" /> | ||
227 | <xs:attribute name="encoding" use="optional" default="native" type="Encoding"> | ||
228 | <xs:annotation> | ||
229 | <xs:documentation xml:lang="en"> | ||
230 | Document this. | ||
231 | </xs:documentation> | ||
232 | </xs:annotation> | ||
233 | </xs:attribute> | ||
234 | </xs:extension> | ||
235 | </xs:complexContent> | ||
236 | </xs:complexType> | ||
237 | |||
238 | <xs:complexType name="ExtStyle"> | ||
239 | <xs:complexContent> | ||
240 | <!-- This will eventually be a Structure derivative --> | ||
241 | <!-- Structure requires <elem> and has attribute "type" --> | ||
242 | <xs:extension base="ExtStruct"> | ||
243 | <xs:attribute name="style" use="optional" default="callback" type="OutputStyle"> | ||
244 | <xs:annotation> | ||
245 | <xs:documentation xml:lang="en"> | ||
246 | Document this. | ||
247 | </xs:documentation> | ||
248 | </xs:annotation> | ||
249 | </xs:attribute> | ||
250 | </xs:extension> | ||
251 | </xs:complexContent> | ||
252 | </xs:complexType> | ||
253 | |||
254 | <xs:simpleType name="OutputStyle"> | ||
255 | <xs:restriction base="xs:token"> | ||
256 | <xs:pattern value="callback|arg|return"> | ||
257 | <xs:annotation> | ||
258 | <xs:documentation xml:lang="en"> | ||
259 | native=native format (xmf, json, etc.), same as index=0. | ||
260 | raw=codec defined outside encoding, same as index=1. | ||
261 | xmf=always XMF, same as index=2. | ||
262 | json=always json, same as index=3. | ||
263 | number=index into encoding table (first 255 are reserved). | ||
264 | PName=dynamic, name of element that holds the encoding value. | ||
265 | </xs:documentation> | ||
266 | </xs:annotation> | ||
267 | </xs:pattern> | ||
268 | </xs:restriction> | ||
269 | </xs:simpleType> | ||
270 | |||
271 | <xs:simpleType name="Size"> | ||
272 | <xs:restriction base="xs:integer"> | ||
273 | <xs:minInclusive value="-1"/> | ||
274 | </xs:restriction> | ||
275 | </xs:simpleType> | ||
276 | |||
277 | <xs:complexType name="Array"> | ||
278 | <xs:annotation> | ||
279 | <xs:documentation xml:lang="en"> | ||
280 | An Array with a fixed "size" can be used as a fixed sized type. | ||
281 | </xs:documentation> | ||
282 | </xs:annotation> | ||
283 | <xs:complexContent> | ||
284 | <xs:extension base="TypeBase"> | ||
285 | <xs:attribute name="type" use="required" type="NSName"> | ||
286 | <xs:annotation> | ||
287 | <xs:documentation xml:lang="en"> | ||
288 | Must be a type with a fixed "size". | ||
289 | </xs:documentation> | ||
290 | </xs:annotation> | ||
291 | </xs:attribute> | ||
292 | </xs:extension> | ||
293 | </xs:complexContent> | ||
294 | </xs:complexType> | ||
295 | |||
296 | <xs:complexType name="Enumeration"> | ||
297 | <xs:complexContent> | ||
298 | <xs:extension base="TypeBase"> | ||
299 | <xs:sequence> | ||
300 | <xs:element maxOccurs="unbounded" minOccurs="1" name="literal" type="EnumerationLiteral"/> | ||
301 | </xs:sequence> | ||
302 | <xs:attribute name="type" use="required" type="EnumerationType"/> | ||
303 | <xs:attribute name="default" use="required" type="PName"/> | ||
304 | </xs:extension> | ||
305 | </xs:complexContent> | ||
306 | </xs:complexType> | ||
307 | |||
308 | <xs:simpleType name="EnumerationType"> | ||
309 | <xs:restriction base="NSName"> | ||
310 | <xs:enumeration value="Tensor.int8"/> | ||
311 | <xs:enumeration value="Tensor.uint8"/> | ||
312 | <xs:enumeration value="Tensor.int16"/> | ||
313 | <xs:enumeration value="Tensor.uint16"/> | ||
314 | <xs:enumeration value="Tensor.int32"/> | ||
315 | <xs:enumeration value="Tensor.uint32"/> | ||
316 | <xs:enumeration value="int8"/> | ||
317 | <xs:enumeration value="uint8"/> | ||
318 | <xs:enumeration value="int16"/> | ||
319 | <xs:enumeration value="uint16"/> | ||
320 | <xs:enumeration value="int32"/> | ||
321 | <xs:enumeration value="uint32"/> | ||
322 | </xs:restriction> | ||
323 | </xs:simpleType> | ||
324 | |||
325 | <xs:complexType name="EnumerationLiteral"> | ||
326 | <xs:complexContent> | ||
327 | <xs:extension base="Element"> | ||
328 | <xs:attribute name="name" use="required" type="PName" /> | ||
329 | <xs:attribute name="value" use="required" type="IntegerOrHex"/> | ||
330 | </xs:extension> | ||
331 | </xs:complexContent> | ||
332 | </xs:complexType> | ||
333 | |||
334 | <xs:simpleType name="IntegerOrHex"> | ||
335 | <xs:restriction base="xs:token"> | ||
336 | <xs:pattern value="((0)|([-]?[1-9][0-9]*)|(0x([0-9a-fA-F]{2})+))"/> | ||
337 | </xs:restriction> | ||
338 | </xs:simpleType> | ||
339 | |||
340 | |||
341 | <!-- | ||
342 | <xs:complexType name="Tag"> | ||
343 | <xs:complexContent> | ||
344 | <xs:extension base="Element"> | ||
345 | <xs:attribute name="name" use="required" type="xs:normalizedString" /> | ||
346 | <xs:attribute name="value" use="required" type="xs:normalizedString" /> | ||
347 | </xs:extension> | ||
348 | </xs:complexContent> | ||
349 | </xs:complexType> | ||
350 | --> | ||
351 | |||
352 | <xs:complexType name="Tag"> | ||
353 | <xs:attribute name="name" use="required" type="xs:normalizedString" /> | ||
354 | <xs:attribute name="value" use="required" type="xs:normalizedString" /> | ||
355 | </xs:complexType> | ||
356 | |||
357 | |||
358 | <xs:complexType name="Elem"> | ||
359 | <xs:complexContent> | ||
360 | <xs:extension base="Element"> | ||
361 | <xs:attribute name="name" use="required" type="PName" /> | ||
362 | <xs:attribute name="type" use="required" type="NSName" /> | ||
363 | <xs:attribute name="polymorphic" default="false" type="xs:boolean"/> | ||
364 | <xs:attribute name="multiplicity" default="1" type="Multiplicity"/> | ||
365 | <xs:attribute name="default" use="optional" type="xs:normalizedString"/> | ||
366 | <xs:attribute name="ord" default="L" type="LPGIntegerOrHex" /> | ||
367 | <xs:attribute name="rttd" default="false" type="xs:boolean"> | ||
368 | <xs:annotation> | ||
369 | <xs:documentation xml:lang="en"> | ||
370 | rttd identified this element in the struct as | ||
371 | being the RTT Designator. | ||
372 | </xs:documentation> | ||
373 | </xs:annotation> | ||
374 | </xs:attribute> | ||
375 | <xs:attribute name="encoding" use="optional" default="native" type="Encoding"> | ||
376 | <xs:annotation> | ||
377 | <xs:documentation xml:lang="en"> | ||
378 | rttkey defines the key value used to identify this | ||
379 | type from other types in the inheritance chain. | ||
380 | This key value is used to generate and register a type | ||
381 | specific factory. | ||
382 | </xs:documentation> | ||
383 | </xs:annotation> | ||
384 | </xs:attribute> | ||
385 | </xs:extension> | ||
386 | </xs:complexContent> | ||
387 | </xs:complexType> | ||
388 | |||
389 | <xs:simpleType name="LPGIntegerOrHex"> | ||
390 | <xs:restriction base="xs:token"> | ||
391 | <xs:pattern value="(([LPG])|(0)|([1-9][0-9]*)|(0x([0-9a-fA-F]{2})+))"/> | ||
392 | </xs:restriction> | ||
393 | </xs:simpleType> | ||
394 | |||
395 | |||
396 | <xs:simpleType name="Multiplicity"> | ||
397 | <xs:restriction base="xs:token"> | ||
398 | <xs:enumeration value="0..1"> | ||
399 | <xs:annotation> | ||
400 | <xs:documentation xml:lang="en"> | ||
401 | Optional. | ||
402 | </xs:documentation> | ||
403 | </xs:annotation> | ||
404 | </xs:enumeration> | ||
405 | <xs:enumeration value="1"> | ||
406 | <xs:annotation> | ||
407 | <xs:documentation xml:lang="en"> | ||
408 | Required. | ||
409 | </xs:documentation> | ||
410 | </xs:annotation> | ||
411 | </xs:enumeration> | ||
412 | <xs:enumeration value="0..*"> | ||
413 | <xs:annotation> | ||
414 | <xs:documentation xml:lang="en"> | ||
415 | Zero or more. | ||
416 | </xs:documentation> | ||
417 | </xs:annotation> | ||
418 | </xs:enumeration> | ||
419 | <xs:enumeration value="1..*"> | ||
420 | <xs:annotation> | ||
421 | <xs:documentation xml:lang="en"> | ||
422 | Atleast one. | ||
423 | </xs:documentation> | ||
424 | </xs:annotation> | ||
425 | </xs:enumeration> | ||
426 | </xs:restriction> | ||
427 | </xs:simpleType> | ||
428 | |||
429 | <xs:simpleType name="Encoding"> | ||
430 | <xs:restriction base="xs:token"> | ||
431 | <xs:pattern value="((native)|(raw)|(xmf)|(json)|(0)|([1-9][0-9]*)|(0x([0-9a-fA-F]{2}))|(0x([0-9a-fA-F]{4}))|([a-zA-Z][a-zA-Z0-9_]*))"> | ||
432 | <xs:annotation> | ||
433 | <xs:documentation xml:lang="en"> | ||
434 | native=native format (xmf, json, etc.), same as index=0. | ||
435 | raw=codec defined outside encoding, same as index=1. | ||
436 | xmf=always XMF, same as index=2. | ||
437 | json=always json, same as index=3. | ||
438 | number=index into encoding table (first 255 are reserved). | ||
439 | PName=dynamic, name of element that holds the encoding value. | ||
440 | </xs:documentation> | ||
441 | </xs:annotation> | ||
442 | </xs:pattern> | ||
443 | </xs:restriction> | ||
444 | </xs:simpleType> | ||
445 | |||
446 | <xs:complexType name="Interface"> | ||
447 | <xs:complexContent> | ||
448 | <xs:extension base="DeclarationBase"> | ||
449 | <xs:choice maxOccurs="unbounded" minOccurs="1"> | ||
450 | <xs:element maxOccurs="unbounded" minOccurs="0" name="operation" type="Operation"/> | ||
451 | <xs:element maxOccurs="unbounded" minOccurs="0" name="event" type="Event"/> | ||
452 | </xs:choice> | ||
453 | <xs:attribute name="name" use="required" type="PName" /> | ||
454 | </xs:extension> | ||
455 | </xs:complexContent> | ||
456 | </xs:complexType> | ||
457 | |||
458 | <xs:complexType name="Operation"> | ||
459 | <xs:complexContent> | ||
460 | <xs:extension base="DeclarationBase"> | ||
461 | <xs:sequence> | ||
462 | <xs:element maxOccurs="1" minOccurs="0" name="input" type="ExtStruct"/> | ||
463 | <xs:element maxOccurs="1" minOccurs="0" name="output" type="ExtStyle"/> | ||
464 | </xs:sequence> | ||
465 | <xs:attribute name="name" use="required" type="PName" /> | ||
466 | </xs:extension> | ||
467 | </xs:complexContent> | ||
468 | </xs:complexType> | ||
469 | |||
470 | <xs:complexType name="Event"> | ||
471 | <xs:complexContent> | ||
472 | <xs:extension base="DeclarationBase"> | ||
473 | <xs:sequence> | ||
474 | <xs:element maxOccurs="1" minOccurs="0" name="data" type="ExtStruct"/> | ||
475 | </xs:sequence> | ||
476 | <xs:attribute name="name" use="required" type="PName" /> | ||
477 | </xs:extension> | ||
478 | </xs:complexContent> | ||
479 | </xs:complexType> | ||
480 | |||
481 | </xs:schema> |
license.md
0 → 100644
1 | # SDK Source | ||
2 | An open-source style license for the SDK source code is covered under: | ||
3 | |||
4 | [LocationStudioSDKLicense.md](https://git.location.studio/location.studio/ilpsdk/blob/master/licenses/LocationStudioSDKLicense.md) | ||
5 | |||
6 | # Protocols | ||
7 | The API protocol (design, content and usage) is covered under: | ||
8 | |||
9 | [LocationStudioAPILicense.md](https://git.location.studio/location.studio/ilpsdk/blob/master/licenses/LocationStudioAPILicense.md) |
-
Please register or sign in to post a comment