ApiBase.xid.xml 4.63 KB
<?xml version="1.0" encoding="UTF-8" ?>

<specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
               xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
               identity="ApiBase.xid.xml">

  <title>ILP Services API Base Definitions</title>
  <comment>
    This document defines the common types API service interface for the ILP and Simultaneous Localization
    and Mapping (SLAM) services definitions.  The service provides access to ILP and SLAM technologies for position
    calculation for devices and services communicating via standard
    IP based protocols.  The API currently supports XMF and JSON wire formats.
  </comment>

  <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" />
  <import ref="https://xid.location.studio/Tensor/V1.0.0/Common.xid.xml" local="Definitions.xid.xml" />  
  <import ref="https://xid.location.studio/HPE/V1.2/HpeCore.xid.xml" local="HpeCore.xid.xml" />
  <import ref="https://xid.location.studio/HPE/V1.2/HpeGnss.xid.xml" local="HpeGnss.xid.xml" />
  <import ref="https://xid.location.studio/HPE/V1.2/HpeCellular.xid.xml" local="HpeCellular.xid.xml" />
  <import ref="https://xid.location.studio/HPE/V1.2/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" />

  <namespace name="ILP">
    <using namespace="HPE"/>
    <using namespace="Tensor"/>


    <!--
      *******************************
      *InputBase Type Definition
      *******************************
      -->
    <struct name="InputBase" >
      <comment>Base input fields for operations supporting asynchronous transaction information.</comment>
      <elem name="directive" multiplicity="0..*" type="NameValue">
        <comment>
          A set of directives to influence processing.
        </comment>
      </elem>

      <elem name="devid" multiplicity="1" type="string">
        <comment>
          Required device identifier, that provides a consistent multi-transaction identifier
          for a device or equivalent (e.g. service identifier)  providing the data.  Any errors or issues resulting from processing the data will include this identifier
          in the system logs, providing traceability.  Identifier should be unique.
        </comment>
      </elem>

      <elem name="etid" multiplicity="0..1" type="string">
        <comment>
          Optional external transaction identifier for the caller to uniquely identify and track
          the transaction and corresponding results.   These identifiers will appear in the
          ILP system logs for traceability analysis.  The format of the transaction identifier is up to the caller
          and can be anything: e.g. [uuid], [id1.subid0], [numerical], etc.  This data is never interpreted by
          the ILP system.
        </comment>
      </elem>
    </struct>


    <!-- 
      *******************************
      *OutputBase Type Definition 
      *******************************
      -->
    <struct name="OutputBase" >
      <comment>Base output fields common to operations supporting asynchronous returning transaction information.</comment>
      <elem name="devid" multiplicity="0..1" type="string">
        <comment>
          Device identifier provided at operation input, provides a consistent identifier
          for a device or equivalent (e.g. service identifier) providing the data.  Any errors or issues resulting from processing the data will include this identifier
          in the system logs, providing traceability.
        </comment>
      </elem>

      <elem name="etid" multiplicity="0..1" type="string">
        <comment>
          Optional external transaction identifier for the caller to uniquely identify and track
          the transaction and corresponding results.   These identifiers appear in the
          ILP system logs for traceability analysis.  The format of the transaction identifier is up to the caller
          and can be anything: e.g. [uuid], [id1.subid0], [numerical], etc.  This data is never interpreted by
          the ILP system.
        </comment>

      </elem>

      <elem name="resultcode" type="ResultCode" multiplicity="1" >
        <comment>Result of the operation.</comment>
      </elem>

      <elem name="errinfo" type="Tensor.string" multiplicity="0..1">
        <comment>Error information if result was not success.</comment>
      </elem>

    </struct>

  </namespace>
</specification>