IlpApiBase.xid.xml 4.98 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 XtensibleInterfaceDefinition.xsd"
               identity="IlpApiBase.xid.xml">
  
    <title>ILP Hybrid Positioning Services API Base Definitions</title>
    <comment>
        This document defines the common types API service interface for the IoT Location Platform (ILP).
        The service provides hybrid 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/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"/>


      <!--
      *******************************
      *IlpInputBase Type Definition
      *******************************
      -->
      <struct name="IlpInputBase" >
        <comment>Base input fields for operations supporting asynchronous transaction information.</comment>
        <elem name="idDevice" 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="idTransaction" multiplicity="0..1" type="string">
          <comment>
            Optional 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>

        <!-- THis is future, don't uncomment until design issues resolved. M. Mathews/s. Hines 161130
        <elem name="urlCallback" multiplicity="0..1" type="string">
          <tag key="life-cycle" value="future" />
          <comment>
            Optional asynchronous callback used to callback client servers during long operations.   Not all 
            interfaces may support this.  
          </comment>
        </elem>
        -->
      </struct>


      <!-- 
      *******************************
      *IlpOutputBase Type Definition 
      *******************************
      -->
      <struct name="IlpOutputBase" >
        <comment>Base output fields common to operations supporting asynchronous returning transaction information.</comment>
        <elem name="idDevice" multiplicity="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="idTransaction" multiplicity="0..1" type="string">
          <comment>
            Optional 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>

        <!-- THis is future, don't uncomment until design issues resolved. M. Mathews/s. Hine 161130
        <elem name="urlCallback" multiplicity="0..1" type="string">
          <tag key="life-cycle" value="future" />
          <comment>
            Optional asynchronous callback used to callback client servers during long operations.   Not all 
            interfaces may support this.  
          </comment>
        </elem>
        -->
      </struct>      
      
  
    </namespace>
</specification>