Add initial specs in expected layout and added license
Showing
8 changed files
with
817 additions
and
42 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 | <!-- | ||
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" |
... | @@ -12,7 +21,7 @@ | ... | @@ -12,7 +21,7 @@ |
12 | as needed to support various types of information. | 21 | as needed to support various types of information. |
13 | </comment> | 22 | </comment> |
14 | 23 | ||
15 | <import ref="http://xid.location.studio/XID/TensorDefinitions.xid" local="TensorDefinitions.xid" /> | 24 | <import ref="TensorDefinitions/V1.0.0/TensorDefinitions.xid" local="TensorDefinitions.xid" /> |
16 | 25 | ||
17 | <namespace name="Logging"> | 26 | <namespace name="Logging"> |
18 | <using namespace="Tensor"/> | 27 | <using namespace="Tensor"/> |
... | @@ -136,13 +145,13 @@ | ... | @@ -136,13 +145,13 @@ |
136 | <comment> | 145 | <comment> |
137 | Structure captures the file and line number information for Trace Messages. This provides information about where the trace message was sent. | 146 | Structure captures the file and line number information for Trace Messages. This provides information about where the trace message was sent. |
138 | </comment> | 147 | </comment> |
139 | <elem name="file" type="Tensor.string" multiplicity="1"> | 148 | <elem name="file" type="Tensor.string" multiplicity="1" ord="64"> |
140 | <comment>File name where this message was logged.</comment> | 149 | <comment>File name where this message was logged.</comment> |
141 | </elem> | 150 | </elem> |
142 | <elem name="line" type="Tensor.uint32" multiplicity="1"> | 151 | <elem name="line" type="Tensor.uint32" multiplicity="1" ord="65"> |
143 | <comment>Line number in file where this message is logged.</comment> | 152 | <comment>Line number in file where this message is logged.</comment> |
144 | </elem> | 153 | </elem> |
145 | <elem name="thid" type="Tensor.uint64" multiplicity="1" default="0"> | 154 | <elem name="thid" type="Tensor.uint64" multiplicity="1" default="0" ord="66"> |
146 | <comment>Optional Thread ID, if not specified, default value is 0.</comment> | 155 | <comment>Optional Thread ID, if not specified, default value is 0.</comment> |
147 | </elem> | 156 | </elem> |
148 | 157 | ||
... | @@ -167,40 +176,40 @@ | ... | @@ -167,40 +176,40 @@ |
167 | </enum> | 176 | </enum> |
168 | 177 | ||
169 | <struct name="Metric"> | 178 | <struct name="Metric"> |
170 | <elem name="metricType" type="MetricType" multiplicity="1" rttd="true"> | 179 | <elem name="metricType" type="MetricType" multiplicity="1" rttd="true" ord="64"> |
171 | <comment>This specifies the type of the reported metric.</comment> | 180 | <comment>This specifies the type of the reported metric.</comment> |
172 | </elem> | 181 | </elem> |
173 | <elem name="name" type="string" multiplicity="1"> | 182 | <elem name="name" type="string" multiplicity="1" ord="65"> |
174 | <comment>Name of the reported metric.</comment> | 183 | <comment>Name of the reported metric.</comment> |
175 | </elem> | 184 | </elem> |
176 | </struct> | 185 | </struct> |
177 | 186 | ||
178 | <struct name="PegCount" type="Metric" rttkey="Logging.MetricType.PegCount"> | 187 | <struct name="PegCount" type="Metric" rttkey="Logging.MetricType.PegCount"> |
179 | <elem name="value" type="uint32" multiplicity="1"> | 188 | <elem name="value" type="uint32" multiplicity="1" ord="80"> |
180 | <comment>Value of peg count since last reporting.</comment> | 189 | <comment>Value of peg count since last reporting.</comment> |
181 | </elem> | 190 | </elem> |
182 | </struct> | 191 | </struct> |
183 | 192 | ||
184 | <struct name="AppMetrics" type="Metric" rttkey="Logging.MetricType.AppMetrics"> | 193 | <struct name="AppMetrics" type="Metric" rttkey="Logging.MetricType.AppMetrics"> |
185 | <elem name="totalCount" type="uint32" multiplicity="1"> | 194 | <elem name="totalCount" type="uint32" multiplicity="1" ord="80"> |
186 | <comment>Total count of invocations since last reporting.</comment> | 195 | <comment>Total count of invocations since last reporting.</comment> |
187 | </elem> | 196 | </elem> |
188 | <elem name="currentCount" type="uint32" multiplicity="1"> | 197 | <elem name="currentCount" type="uint32" multiplicity="1" ord="81"> |
189 | <comment>concurrent invocations at time of reporting.</comment> | 198 | <comment>concurrent invocations at time of reporting.</comment> |
190 | </elem> | 199 | </elem> |
191 | <elem name="peakCount" type="uint32" multiplicity="1"> | 200 | <elem name="peakCount" type="uint32" multiplicity="1" ord="82"> |
192 | <comment>Peak concurrent invocations since last reporting.</comment> | 201 | <comment>Peak concurrent invocations since last reporting.</comment> |
193 | </elem> | 202 | </elem> |
194 | <elem name="totalTime" type="uint64" multiplicity="1"> | 203 | <elem name="totalTime" type="uint64" multiplicity="1" ord="83"> |
195 | <comment>Total time spent on invocations in nanoseconds since last reporting.</comment> | 204 | <comment>Total time spent on invocations in nanoseconds since last reporting.</comment> |
196 | </elem> | 205 | </elem> |
197 | <elem name="peakTime" type="uint64" multiplicity="1"> | 206 | <elem name="peakTime" type="uint64" multiplicity="1" ord="84"> |
198 | <comment>Peak time for an invocation in nanoseconds since last reporting.</comment> | 207 | <comment>Peak time for an invocation in nanoseconds since last reporting.</comment> |
199 | </elem> | 208 | </elem> |
200 | <elem name="successCount" type="uint32" multiplicity="1"> | 209 | <elem name="successCount" type="uint32" multiplicity="1" ord="85"> |
201 | <comment>Count of successful invocations since last reporting.</comment> | 210 | <comment>Count of successful invocations since last reporting.</comment> |
202 | </elem> | 211 | </elem> |
203 | <elem name="failureCount" type="uint32" multiplicity="1"> | 212 | <elem name="failureCount" type="uint32" multiplicity="1" ord="86"> |
204 | <comment>Count of failed invocations since last reporting.</comment> | 213 | <comment>Count of failed invocations since last reporting.</comment> |
205 | </elem> | 214 | </elem> |
206 | </struct> | 215 | </struct> |
... | @@ -220,22 +229,22 @@ | ... | @@ -220,22 +229,22 @@ |
220 | if messages are related to logging but do not require the standard fields. It is recommended that most specializations | 229 | if messages are related to logging but do not require the standard fields. It is recommended that most specializations |
221 | should start with Message as the base type. | 230 | should start with Message as the base type. |
222 | </comment> | 231 | </comment> |
223 | <elem name="type" type="MessageType" multiplicity="1" rttd="true"> | 232 | <elem name="type" type="MessageType" multiplicity="1" rttd="true" ord="64"> |
224 | <comment> This specifies the type of message.</comment> | 233 | <comment> This specifies the type of message.</comment> |
225 | </elem> | 234 | </elem> |
226 | <elem name="date" type="datetime" multiplicity="1"> | 235 | <elem name="date" type="datetime" multiplicity="1" ord="65"> |
227 | <comment>The date/time the message occured.</comment> | 236 | <comment>The date/time the message occured.</comment> |
228 | </elem> | 237 | </elem> |
229 | <elem name="source" type="Tensor.uri" multiplicity="1"> | 238 | <elem name="source" type="Tensor.uri" multiplicity="1" ord="66"> |
230 | <comment>URI Identifying name of the component or process logging the message.</comment> | 239 | <comment>URI Identifying name of the component or process logging the message.</comment> |
231 | </elem> | 240 | </elem> |
232 | <elem name="info" type="string" multiplicity="0..1"> | 241 | <elem name="info" type="string" multiplicity="0..1" ord="67"> |
233 | <comment>Optional free form string data.</comment> | 242 | <comment>Optional free form string data.</comment> |
234 | </elem> | 243 | </elem> |
235 | <elem name="data" type="Tensor.json" multiplicity="0..1"> | 244 | <elem name="data" type="Tensor.json" multiplicity="0..1" ord="68"> |
236 | <comment>Optional structured data.</comment> | 245 | <comment>Optional structured data.</comment> |
237 | </elem> | 246 | </elem> |
238 | <elem name="debug" type="DebugInfo" multiplicity="0..1"> | 247 | <elem name="debug" type="DebugInfo" multiplicity="0..1" ord="69"> |
239 | <comment>Optional debug information for message.</comment> | 248 | <comment>Optional debug information for message.</comment> |
240 | </elem> | 249 | </elem> |
241 | </struct> | 250 | </struct> |
... | @@ -246,19 +255,19 @@ | ... | @@ -246,19 +255,19 @@ |
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 | 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 |
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. | 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. |
248 | </comment> | 257 | </comment> |
249 | <elem name="tid" type="Tensor.UUID" multiplicity="1"> | 258 | <elem name="tid" type="Tensor.UUID" multiplicity="1" ord="80"> |
250 | <comment>Unique ID identifying the internal transaction related to the message.</comment> | 259 | <comment>Unique ID identifying the internal transaction related to the message.</comment> |
251 | </elem> | 260 | </elem> |
252 | <elem name="etid" type="string" multiplicity="0..1"> | 261 | <elem name="etid" type="string" multiplicity="0..1" ord="81"> |
253 | <comment>Optional externally defined transaction ID.</comment> | 262 | <comment>Optional externally defined transaction ID.</comment> |
254 | </elem> | 263 | </elem> |
255 | <elem name="acctid" type="string" multiplicity="0..1"> | 264 | <elem name="acctid" type="string" multiplicity="0..1" ord="82"> |
256 | <comment>Optional externally defined account/group identifier.</comment> | 265 | <comment>Optional externally defined account/group identifier.</comment> |
257 | </elem> | 266 | </elem> |
258 | <elem name="devid" type="string" multiplicity="0..1"> | 267 | <elem name="devid" type="string" multiplicity="0..1" ord="83"> |
259 | <comment>Optional externally defined device identifier.</comment> | 268 | <comment>Optional externally defined device identifier.</comment> |
260 | </elem> | 269 | </elem> |
261 | <elem name="appid" type="string" multiplicity="0..1"> | 270 | <elem name="appid" type="string" multiplicity="0..1" ord="84"> |
262 | <comment>Optional externally defined application (or application key) identifier.</comment> | 271 | <comment>Optional externally defined application (or application key) identifier.</comment> |
263 | </elem> | 272 | </elem> |
264 | 273 | ||
... | @@ -269,15 +278,14 @@ | ... | @@ -269,15 +278,14 @@ |
269 | <comment> | 278 | <comment> |
270 | A message that requires another system/user to respond with some action. | 279 | A message that requires another system/user to respond with some action. |
271 | </comment> | 280 | </comment> |
272 | <elem name="id" type="Tensor.uint32" multiplicity="1"> | 281 | <elem name="id" type="Tensor.uri" multiplicity="1" ord="96"> |
273 | <comment>Error code identifying the fault type</comment> | 282 | <comment>Error code identifying the fault type</comment> |
274 | </elem> | 283 | </elem> |
275 | <elem name="severity" type="Severity" multiplicity="1"/> | 284 | <elem name="severity" type="Severity" multiplicity="1" ord="97"/> |
276 | <elem name="category" type="Category" multiplicity="1"/> | 285 | <elem name="category" type="Category" multiplicity="1" ord="98"/> |
277 | <elem name="iid" type="Tensor.uri" multiplicity="0..1"> | 286 | <elem name="iid" type="Tensor.uri" multiplicity="0..1" ord="99"> |
278 | <comment>Optional incident identifier. Should uniquely define the action issue for future reference.</comment> | 287 | <comment>Optional incident identifier used to identify an action instance uniquely. This is needed when there are stateful clearing events.</comment> |
279 | </elem> | 288 | </elem> |
280 | |||
281 | </struct> | 289 | </struct> |
282 | 290 | ||
283 | <!-- TraceMsg type --> | 291 | <!-- TraceMsg type --> |
... | @@ -285,7 +293,7 @@ | ... | @@ -285,7 +293,7 @@ |
285 | <comment> | 293 | <comment> |
286 | Trace message for general logging and reporting of information | 294 | Trace message for general logging and reporting of information |
287 | </comment> | 295 | </comment> |
288 | <elem name="level" type="TraceLevel" multiplicity="1"> | 296 | <elem name="level" type="TraceLevel" multiplicity="1" ord="96"> |
289 | <comment>Indicates the level of the trace: overview is the highest level and debug is the lowest</comment> | 297 | <comment>Indicates the level of the trace: overview is the highest level and debug is the lowest</comment> |
290 | </elem> | 298 | </elem> |
291 | </struct> | 299 | </struct> |
... | @@ -296,21 +304,21 @@ | ... | @@ -296,21 +304,21 @@ |
296 | Message capturing usage information for reporting statistical, transactional, edge, location, or other useful information generated in the normal | 304 | Message capturing usage information for reporting statistical, transactional, edge, location, or other useful information generated in the normal |
297 | operation of the system. | 305 | operation of the system. |
298 | </comment> | 306 | </comment> |
299 | <elem name="uri" type="Tensor.uri" multiplicity="1" rttd="true"> | 307 | <elem name="uri" type="Tensor.uri" multiplicity="1" rttd="true" ord="96"> |
300 | <comment> Usage id specific to a type of usage information. Can be general or application specific.</comment> | 308 | <comment> Usage id specific to a type of usage information. Can be general or application specific.</comment> |
301 | </elem> | 309 | </elem> |
302 | </struct> | 310 | </struct> |
303 | 311 | ||
304 | <!-- MetricMsg type --> | 312 | <!-- MetricMsg type --> |
305 | <struct name="MetricMsg" type="MessageBase" rttkey="Logging.MessageType.MetricMsg"> | 313 | <struct name="MetricMsg" type="MessageBase" rttkey="Logging.MessageType.MetricMsg"> |
306 | <elem name="start" type="datetime" multiplicity="1"> | 314 | <elem name="start" type="datetime" multiplicity="1" ord="80"> |
307 | <comment>The date/time of the start of the report interval. date is end the end of the report interval.</comment> | 315 | <comment>The date/time of the start of the report interval. date is end the end of the report interval.</comment> |
308 | </elem> | 316 | </elem> |
309 | <elem name="duration" type="uint16" multiplicity="1"> | 317 | <elem name="duration" type="uint16" multiplicity="1" ord="81"> |
310 | <tag name="unit" value="sec"/> | 318 | <tag name="unit" value="sec"/> |
311 | <comment>The interval in seconds for the metric report.</comment> | 319 | <comment>The interval in seconds for the metric report.</comment> |
312 | </elem> | 320 | </elem> |
313 | <elem name="metrics" type="Metric" multiplicity="1..*"> | 321 | <elem name="metrics" type="Metric" multiplicity="1..*" polymorphic="true" ord="82"> |
314 | <comment>List of metrics being reported.</comment> | 322 | <comment>List of metrics being reported.</comment> |
315 | </elem> | 323 | </elem> |
316 | </struct> | 324 | </struct> |
... | @@ -328,25 +336,25 @@ | ... | @@ -328,25 +336,25 @@ |
328 | that is deemed to have a specific beginning and end. This is a fairly generic | 336 | that is deemed to have a specific beginning and end. This is a fairly generic |
329 | definition making the usage report suitable for a variety of applications. | 337 | definition making the usage report suitable for a variety of applications. |
330 | </comment> | 338 | </comment> |
331 | <elem name="taskid" type="string" multiplicity="1"> | 339 | <elem name="taskid" type="string" multiplicity="1" ord="112"> |
332 | <comment> | 340 | <comment> |
333 | The unique tasks identifier. A source may have multiple tasks, this field assigns | 341 | The unique tasks identifier. A source may have multiple tasks, this field assigns |
334 | an identifier that uniquely characterizes what the task was that was accomplished. | 342 | an identifier that uniquely characterizes what the task was that was accomplished. |
335 | </comment> | 343 | </comment> |
336 | </elem> | 344 | </elem> |
337 | <elem name="start" type="datetime" multiplicity="1"> | 345 | <elem name="start" type="datetime" multiplicity="1" ord="113"> |
338 | <comment> | 346 | <comment> |
339 | The start time at which the processor is used. | 347 | The start time at which the processor is used. |
340 | </comment> | 348 | </comment> |
341 | </elem> | 349 | </elem> |
342 | <elem name="duration" type="uint32" multiplicity="1"> | 350 | <elem name="duration" type="uint32" multiplicity="1" ord="114"> |
343 | <tag name="unit" value="usec"/> | 351 | <tag name="unit" value="usec"/> |
344 | <comment> | 352 | <comment> |
345 | The duration of the processing in microseconds. This is not meant to be a high | 353 | The duration of the processing in microseconds. This is not meant to be a high |
346 | resolution duration monitoring, implement a metric counter for precise timing data. | 354 | resolution duration monitoring, implement a metric counter for precise timing data. |
347 | </comment> | 355 | </comment> |
348 | </elem> | 356 | </elem> |
349 | <elem name="status" type="ResultCode" multiplicity="1"> | 357 | <elem name="status" type="ResultCode" multiplicity="1" ord="115"> |
350 | <comment>The task result code.</comment> | 358 | <comment>The task result code.</comment> |
351 | </elem> | 359 | </elem> |
352 | </struct> | 360 | </struct> | ... | ... |
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