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