<!--
XML Schema for the Input Control API data types

This is NCL
Copyright: 005 PUC-RIO/LABORATORIO TELEMIDIA, All Rights Reserved.
See http://www.telemidia.puc-rio.br

Public URI: http://www.ncl.org.br/NCL3.1/ancillary/inputControlAPI.xsd
Author: TeleMidia Laboratory
Revision: 30/06/2013

Schema for the NCL media API data types.
-->
<schema xmlns="http://www.w3.org/2001/XMLSchema"
  xmlns:inputControlAPI="http://www.ncl.org.br/NCL3.1/InputControlAPI"
  targetNamespace="http://www.ncl.org.br/NCL3.1/InputControlAPI"
  elementFormDefault="qualified" attributeFormDefault="unqualified" >


   <!-- define the values for deviceTye-->
  <simpleType name="someDevicePrototype">
    <restriction base="string">
      <enumeration value="remoteControl" />
      <enumeration value="keyboard" />
      <enumeration value="motionSensor" />
      <enumeration value="positionSensor" />
    </restriction>
  </simpleType>

  <simpleType name="deviceType">
    <union memberTypes="string inputControlAPI:someDevicePrototype"/>
  </simpleType>

  <!-- declare global elements in this module -->
  <element name="device" type="inputControlAPI:deviceType"/>

  <!-- define the value for the set of keys-->
  <simpleType name="keyListType">
    <list itemType="string"/>
  </simpleType>

  <!-- declare global elements in this module -->
  <element name="keyList" type="inputControlAPI:keyListType"/>

  <complexType name="sensorType">
    <attribute name="coords" type="string" use="optional"/>
    <attribute name="key" type="string" use="optional" />
  </complexType>

  <!-- declare global elements in this module -->
  <element name="sensor" type="inputControlAPI:sensorType"/>

</schema>