<?xml version="1.0" ?>
<!-- 
Copyright Notification

The oneM2M Partners authorize you to copy this document, provided that you retain all copyright and other proprietary notices 
contained in the original materials on any copies of the materials and that you comply strictly with these terms. 
This copyright permission does not constitute an endorsement of the products or services, nor does it encompass the granting of 
any patent rights. The oneM2M Partners assume no responsibility for errors or omissions in this document. 
© 2015, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TTA, TTC). All rights reserved.


Notice of Disclaimer & Limitation of Liability 

The information provided in this document is directed solely to professionals who have the appropriate degree of experience to understand 
and interpret its contents in accordance with generally accepted engineering or other professional standards and applicable regulations. 
No recommendation as to products or vendors is made or should be implied. 

NO REPRESENTATION OR WARRANTY IS MADE THAT THE INFORMATION IS TECHNICALLY ACCURATE OR SUFFICIENT OR CONFORMS TO ANY STATUTE, 
GOVERNMENTAL RULE OR REGULATION, AND FURTHER, NO REPRESENTATION OR WARRANTY IS MADE OF MERCHANTABILITY OR FITNESS FOR ANY 
PARTICULAR PURPOSE OR AGAINST INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS. 
NO oneM2M PARTNER TYPE 1 SHALL BE LIABLE, BEYOND THE AMOUNT OF ANY SUM RECEIVED IN PAYMENT BY THAT PARTNER FOR THIS DOCUMENT, WITH RESPECT TO 
ANY CLAIM, AND IN NO EVENT SHALL oneM2M BE LIABLE FOR LOST PROFITS OR OTHER INCIDENTAL OR CONSEQUENTIAL DAMAGES. 
oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PROVIDED IN THIS DOCUMENT IS AT THE RISK OF THE USER.

-->

<xs:schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:m2m="http://www.onem2m.org/xml/protocols"
	targetNamespace="http://www.onem2m.org/xml/protocols" elementFormDefault="unqualified">

	<xs:simpleType name="resourceType">
		<xs:annotation>
			<xs:documentation></xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- accessControlPolicy -->
			<xs:enumeration value="1" />
			<!-- AE -->
			<xs:enumeration value="2" />
			<!-- container -->
			<xs:enumeration value="3" />
			<!-- contentInstance -->
			<xs:enumeration value="4" />
			<!-- CSEBase -->
			<xs:enumeration value="5" />
			<!-- delivery -->
			<xs:enumeration value="6" />
			<!-- eventConfig -->
			<xs:enumeration value="7" />
			<!-- execInstance -->
			<xs:enumeration value="8" />
			<!-- group -->
			<xs:enumeration value="9" />
			<!-- locationPolicy -->
			<xs:enumeration value="10" />
			<!-- m2mServiceSubscriptionProfile -->
			<xs:enumeration value="11" />
			<!-- mgmtCmd -->
			<xs:enumeration value="12" />
			<!-- mgmtObj -->
			<xs:enumeration value="13" />
			<!-- node -->
			<xs:enumeration value="14" />
			<!-- pollingChannel -->
			<xs:enumeration value="15" />
			<!-- remoteCSE -->
			<xs:enumeration value="16" />
			<!-- request -->
			<xs:enumeration value="17" />
			<!-- schedule -->
			<xs:enumeration value="18" />
			<!-- serviceSubscribedAppRule -->
            <xs:enumeration value="19" />
            <!-- serviceSubscribedNode -->
			<xs:enumeration value="20" />
			<!-- statsCollect -->
			<xs:enumeration value="21" />
			<!-- statsConfig -->
			<xs:enumeration value="22" />
			<!-- subscription -->
			<xs:enumeration value="23" />
			<!-- accessControlPolicyAnnc -->
			<xs:enumeration value="10001" />
			<!-- AEAnnc -->
			<xs:enumeration value="10002" />
			<!-- containerAnnc -->
			<xs:enumeration value="10003" />
			<!-- contentInstanceAnnc -->
			<xs:enumeration value="10004" />
			<!-- groupAnnc -->
			<xs:enumeration value="10009" />
			<!-- locationPolicyAnnc -->
			<xs:enumeration value="10010" />
			<!-- mgmtObjAnnc -->
			<xs:enumeration value="10013" />
			<!-- nodeAnnc -->
			<xs:enumeration value="10014" />
			<!-- remoteCSEAnnc -->
			<xs:enumeration value="10016" />
			<!-- scheduleAnnc -->
			<xs:enumeration value="10018" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="cseTypeID">
		<xs:annotation>
			<xs:documentation>Used for cseType attribute of &lt;CSEBase&gt; resource.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- IN-CSE -->
			<xs:enumeration value="1" />
			<!-- MN-CSE -->
			<xs:enumeration value="2" />
			<!-- ASN-CSE -->
			<xs:enumeration value="3" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="locationSource">
		<xs:annotation>
			<xs:documentation>Used for locationSource attribute of &lt;locationPolicy&gt; resource.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- Network-based -->
			<xs:enumeration value="1" />
			<!-- Device-based -->
			<xs:enumeration value="2" />
			<!-- Sharing-based -->
			<xs:enumeration value="3" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="stdEventCats">
		<xs:annotation>
			<xs:documentation>Used for ec parameter in request and eventCat attribute of &lt;delivery&gt; resource and cmdh
				policy resource types.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- Immediate -->
			<xs:enumeration value="2" />
			<!-- BestEffort -->
			<xs:enumeration value="3" />
			<!-- Latest -->
			<xs:enumeration value="4" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="operation">
		<xs:annotation>
			<xs:documentation>Used for Operation parameter in request and operation attribute in &lt;request&gt; resource as well as resource as well as operationMonitor
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- Create -->
			<xs:enumeration value="1" />
			<!-- Retrieve -->
			<xs:enumeration value="2" />
			<!-- Update -->
			<xs:enumeration value="3" />
			<!-- Delete -->
			<xs:enumeration value="4" />
			<!-- Notify -->
			<xs:enumeration value="5" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="responseType">
		<xs:annotation>
			<xs:documentation>Used for rt parameter in request and operation attribute in &lt;request&gt; resource
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- nonBlockingRequestSynch -->
			<xs:enumeration value="1" />
			<!-- nonBlockingRequestAsynch -->
			<xs:enumeration value="2" />
			<!-- blockingRequest -->
			<xs:enumeration value="3" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="resultContent">
		<xs:annotation>
			<xs:documentation>Used for Result Content parameter in request.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- Nothing -->
			<xs:enumeration value="0" />
			<!-- Attributes -->
			<xs:enumeration value="1" />
			<!-- Hierarchical Address -->
            <xs:enumeration value="2" />
            <!-- Hierarchical Address + Attributes -->
            <xs:enumeration value="3" />
			<!-- Attributes + Child Resources -->
			<xs:enumeration value="4" />
			<!-- Attributes + Child Resource References -->
            <xs:enumeration value="5" />
			<!-- Child Resource References -->
			<xs:enumeration value="6" />
			<!-- Original Resource -->
			<xs:enumeration value="7" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="discResType">
		<xs:annotation>
			<xs:documentation>Used in &lt;request&gt; </xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- structured -->
			<xs:enumeration value="1" />
			<!-- unstructured -->
			<xs:enumeration value="2" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="responseStatusCode">
		<xs:annotation>
			<xs:documentation></xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
		    <!-- ACCEPTED     -->
			<xs:enumeration value="1000" />
			<!-- OK           -->
            <xs:enumeration value="2000" />
            <!-- CREATED      -->
            <xs:enumeration value="2001" />         
            <!-- DELETED      -->
            <xs:enumeration value="2002" />
            <!-- UPDATED      -->
            <xs:enumeration value="2004" />
            <!-- BAD_REQUEST  -->
            <xs:enumeration value="4000" />            
            <!-- NOT_FOUND    -->
            <xs:enumeration value="4004" />            
            <!-- OPERATION_NOT_ALLOWED  -->
            <xs:enumeration value="4005" />            
            <!-- REQUEST_TIMEOUT  -->
            <xs:enumeration value="4008" />            
            <!-- SUBSCRIPTION_CREATOR_HAS_NO_PRIVILEGE -->
            <xs:enumeration value="4101" />            
            <!-- CONTENTS_UNACCEPTABLE  -->
            <xs:enumeration value="4102" />              
            <!-- ACCESS_DENIED    -->
            <xs:enumeration value="4103" />              
            <!-- GROUP_REQUEST_IDENTIFIER_EXISTS  -->
            <xs:enumeration value="4104" />              
            <!-- CONFLICT                  -->
            <xs:enumeration value="4105" />              
            <!-- INTERNAL_SERVER_ERROR     -->
            <xs:enumeration value="5000" />              
            <!-- NOT_IMPLEMENTED           -->
            <xs:enumeration value="5001" />
            <!-- TARGET_NOT_REACHABLE      -->
            <xs:enumeration value="5103" />             
            <!-- NO_PRIVILEGE              -->
            <xs:enumeration value="5105" />            
            <!-- ALREADY_EXISTS            -->
            <xs:enumeration value="5106" />    
            <!-- TARGET_NOT_SUBSCRIBABLE   -->
            <xs:enumeration value="5203" />            
            <!-- SUBSCRIPTION_VERIFICATION_INITIATION_FAILED   -->
            <xs:enumeration value="5204" />            
            <!-- SUBSCRIPTION_HOST_HAS_NO_PRIVILEGE     -->
            <xs:enumeration value="5205" />            
            <!-- NON_BLOCKING_REQUEST_NOT_SUPPORTED     -->
            <xs:enumeration value="5206" />        
			<!-- NOT_ACCEPTABLE                         -->
			<xs:enumeration value="5207" />
            <!-- EXTERNAL_OBJECT_NOT_REACHABLE          -->
            <xs:enumeration value="6003" />              
            <!-- EXTERNAL_OBJECT_NOT_FOUND              -->
            <xs:enumeration value="6005" />  
            <!-- MAX_NUMBER_OF_MEMBER_EXCEEDED          -->
            <xs:enumeration value="6010" />              
            <!-- MEMBER_TYPE_INCONSISTENT               -->
            <xs:enumeration value="6011" />               
            <!-- MGMT_SESSION_CANNOT_BE_ESTABLISHED     -->
            <xs:enumeration value="6020" />               
            <!-- MGMT_SESSION_ESTABLISHMENT_TIMEOUT     -->
            <xs:enumeration value="6021" />               
            <!-- INVALID_CMDTYPE                        -->
            <xs:enumeration value="6022" />               
            <!-- INVALID_ARGUMENTS                      -->
            <xs:enumeration value="6023" />               
            <!-- INSUFFICIENT_ARGUMENTS                 -->
            <xs:enumeration value="6024" />               
            <!-- MGMT_ CONVERSION_ERROR                 -->
            <xs:enumeration value="6025" />               
            <!-- MGMT_ CANCELLATION_FAILED              -->
            <xs:enumeration value="6026" />               
            <!-- ALREADY_COMPLETE                       -->
            <xs:enumeration value="6028" />               
            <!-- MGMT_COMMAND_NOT_CANCELLABLE           -->
            <xs:enumeration value="6029" />                
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="requestStatus">
		<xs:annotation>
			<xs:documentation>Used for request Status in the &lt;request&gt; resource</xs:documentation>
		</xs:annotation>
        <xs:restriction base="xs:integer">
            <!-- COMPLETED -->
            <xs:enumeration value="1" />
            <!-- FAILED -->
            <xs:enumeration value="2" />
            <!-- PENDING -->
            <xs:enumeration value="3" />
            <!-- FORWARDED -->
            <xs:enumeration value="4" />
        </xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="memberType">
		<xs:annotation>
			<xs:documentation>Used for memberType attribute in &lt;group&gt; resource.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- accessControlPolicy -->
			<xs:enumeration value="1" />
			<!-- AE -->
			<xs:enumeration value="2" />
			<!-- container -->
			<xs:enumeration value="3" />
			<!-- contentInstance -->
			<xs:enumeration value="4" />
			<!-- CSEBase -->
			<xs:enumeration value="5" />
			<!-- delivery -->
			<xs:enumeration value="6" />
			<!-- eventConfig -->
			<xs:enumeration value="7" />
			<!-- execInstance -->
			<xs:enumeration value="8" />
			<!-- group -->
			<xs:enumeration value="9" />
			<!-- locationPolicy --> 
			<xs:enumeration value="10" />
			<!-- m2mServiceSubscription -->
			<xs:enumeration value="11" />
			<!-- mgmtCmd -->
			<xs:enumeration value="12" />
			<!-- mgmtObj -->
			<xs:enumeration value="13" />
			<!-- node -->
			<xs:enumeration value="14" />
			<!-- pollingChannel -->
			<xs:enumeration value="15" />
			<!-- remoteCSE -->
			<xs:enumeration value="16" />
			<!-- request -->
			<xs:enumeration value="17" />
			<!-- schedule -->
            <xs:enumeration value="18" />
			<!-- serviceSubscribedAppRule -->
            <xs:enumeration value="19" />
			<!-- serviceSubscribedNode -->
            <xs:enumeration value="20" />
            <!-- statsCollect -->
            <xs:enumeration value="21" />
            <!-- statsConfig -->
            <xs:enumeration value="22" />
            <!-- subscription -->
            <xs:enumeration value="23" />
		
			<!-- Mixed -->
			<xs:enumeration value="24" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="consistencyStrategy">
		<xs:annotation>
			<xs:documentation>Used for consistencyStrategy attribute in &lt;group&gt; resource.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- ABANDON_MEMBER -->
			<xs:enumeration value="1" />
			<!-- ABANDON_GROUP -->
			<xs:enumeration value="2" />
			<!-- SET_MIXED -->
			<xs:enumeration value="3" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="cmdType">
		<xs:annotation>
			<xs:documentation>Used for cmdType attribute in &lt;mgmtCmd&gt; resource.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- RESET -->
			<xs:enumeration value="1" />
			<!-- REBOOT -->
			<xs:enumeration value="2" />
			<!-- UPLOAD -->
			<xs:enumeration value="3" />
			<!-- DOWNLOAD -->
			<xs:enumeration value="4" />
			<!-- SOFTWAREINSTALL -->
			<xs:enumeration value="5" />
			<!-- SOFTWAREUNINSTALL -->
			<xs:enumeration value="6" />
			<!-- SOFTWAREUPDATE -->
            <xs:enumeration value="7" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="execModeType">
		<xs:annotation>
			<xs:documentation>Used for execModeType attribute in &lt;mgmtCmd&gt; and &lt;execInstance&gt; resource.
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- IMMEDIATEONCE -->
			<xs:enumeration value="1" />
			<!-- IMMEDIATEREPEAT -->
			<xs:enumeration value="2" />
			<!-- RANDOMONCE -->
			<xs:enumeration value="3" />
			<!-- RANDOMREPEAT -->
			<xs:enumeration value="4" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="execStatusType">
		<xs:annotation>
			<xs:documentation>Used for execStatusType attribute in &lt;execInstance&gt; resource.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- INITIATED -->
			<xs:enumeration value="1" />
			<!-- PENDING  -->
			<xs:enumeration value="2" />
			<!-- FINISHED -->
			<xs:enumeration value="3" />
			<!-- CANCELLING -->
			<xs:enumeration value="4" />
			<!-- CANCELLED -->
			<xs:enumeration value="5" />
			<!-- STATUS_ NON_CANCELLABLE -->
			<xs:enumeration value="6" />
		</xs:restriction>
	</xs:simpleType>


	<xs:simpleType name="execResultType">
		<xs:annotation>
			<xs:documentation></xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- STATUS_REQUEST_UNSUPPORTED -->
			<xs:enumeration value="1" />
			<!-- STATUS_REQUEST DENIED -->
			<xs:enumeration value="2" />
			<!-- STATUS_CANCELLATION_DENIED -->
			<xs:enumeration value="3" />
			<!-- STATUS_INTERNAL_ERROR -->
			<xs:enumeration value="4" />
			<!-- STATUS_INVALID_ARGUMENTS -->
			<xs:enumeration value="5" />
			<!-- STATUS_RESOURCES_EXCEEDED -->
			<xs:enumeration value="6" />
			<!-- STATUS_FILE_TRANSFER_FAILED -->
			<xs:enumeration value="7" />
			<!-- STATUS_FILE_TRANSFER_SERVER_AUTHENTICATION_FAILURE -->
			<xs:enumeration value="8" />
			<!-- STATUS_UNSUPPORTED_PROTOCOL -->
			<xs:enumeration value="9" />
			<!-- STATUS_UPLOAD_FAILED -->
			<xs:enumeration value="10" />
			<!-- STATUS_FILE_TRANSFER_FAILED_MULTICAST_GROUP_UNABLE_JOIN -->
			<xs:enumeration value="11" />
			<!-- STATUS_FILE_TRANSFER_FAILED_SERVER_CONTACT_FAILED -->
			<xs:enumeration value="12" />
			<!-- STATUS_FILE_TRANSFER_FAILED_FILE_ACCESS_FAILED -->
			<xs:enumeration value="13" />
			<!-- STATUS_FILE_TRANSFER_FAILED_DOWNLOAD_INCOMPLETE -->
			<xs:enumeration value="14" />
			<!-- STATUS_FILE_TRANSFER_FAILED_FILE_CORRUPTED -->
			<xs:enumeration value="15" />
			<!-- STATUS_FILE_TRANSFER_FILE_AUTHENTICATION_FAILURE -->
			<xs:enumeration value="16" />
			<!-- STATUS_FILE_TRANSFER_WINDOW_EXCEEDED -->
			<xs:enumeration value="19" />
			<!-- STATUS_INVALID_UUID_FORMAT -->
			<xs:enumeration value="20" />
			<!-- STATUS_UNKNOWN_EXECUTION_ENVIRONMENT -->
			<xs:enumeration value="21" />
			<!-- STATUS_DISABLED_EXECUTION_ENVIRONMENT -->
			<xs:enumeration value="22" />
			<!-- STATUS_EXECUTION_ENVIRONMENT_MISMATCH -->
			<xs:enumeration value="23" />
			<!-- STATUS_DUPLICATE_DEPLOYMENT_UNIT -->
			<xs:enumeration value="24" />
			<!-- STATUS_SYSTEM_RESOURCES_EXCEEDED -->
			<xs:enumeration value="25" />
			<!-- STATUS_UNKNOWN_DEPLOYMENT_UNIT -->
			<xs:enumeration value="26" />
			<!-- STATUS_INVALID_DEPLOYMENT_UNIT_STATE -->
			<xs:enumeration value="27" />
			<!-- STATUS_INVALID_DEPLOYMENT_UNIT_UPDATE_DOWNGRADE_DISALLOWED -->
			<xs:enumeration value="28" />
			<!-- STATUS_INVALID_DEPLOYMENT_UNIT_UPDATE_UPGRADE_DISALLOWED -->
			<xs:enumeration value="29" />
			<!-- STATUS_INVALID_DEPLOYMENT_UNIT_UPDATE_VERSION_EXISTS -->
			<xs:enumeration value="30" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="pendingNotification">
		<xs:annotation>
			<xs:documentation>This is used for pendingNotification attribute in &lt;subscription&gt; resource.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- sendLatest -->
			<xs:enumeration value="1" />
			<!-- sendAllPending -->
			<xs:enumeration value="2" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="notificationContentType">
		<xs:annotation>
			<xs:documentation></xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- all attributes -->
			<xs:enumeration value="1" />
			<!-- modified attributes -->
			<xs:enumeration value="2" />
			<!-- ResourceID -->
			<xs:enumeration value="3" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="notificationEventType">
		<xs:annotation>
			<xs:documentation>Used in the notificationEventType element of eventNotificationCriteria attribute of subscription resource 
				and in the Notification data object</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- Update of Resource -->
			<xs:enumeration value="1" />
			<!-- Delete of Resource -->
			<xs:enumeration value="2" />
			<!-- Create of Direct Child Resource -->
			<xs:enumeration value="3" />
			<!-- Delete of Direct Child Resource -->
			<xs:enumeration value="4" />
		</xs:restriction>
	</xs:simpleType>

	
	<xs:simpleType name="status">
		<xs:annotation>
			<xs:documentation>This is used for [software], [firmware] resources.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- Successful -->
			<xs:enumeration value="1" />
			<!-- Failure -->
			<xs:enumeration value="2" />
			<!-- In-Process -->
			<xs:enumeration value="3" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="batteryStatus">
		<xs:annotation>
			<xs:documentation>This is used for [battery] resource.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- NORMAL -->
			<xs:enumeration value="1" />
			<!-- CHARGING -->
			<xs:enumeration value="2" />
			<!-- CHARGING-COMPLETE -->
			<xs:enumeration value="3" />
			<!-- DAMAGED -->
			<xs:enumeration value="4" />
			<!-- LOW-BATTERY -->
			<xs:enumeration value="5" />
			<!-- NOT-INSTALLED -->
			<xs:enumeration value="6" />
			<!-- UNKNOWN -->
			<xs:enumeration value="7" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="mgmtDefinition">
		<xs:annotation>
			<xs:documentation>This is used for mgmtObj resource.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- unspecified -->
			<xs:enumeration value="0" />
			<!-- firmware -->
			<xs:enumeration value="1001" />
			<!-- software -->
			<xs:enumeration value="1002" />
			<!-- memory -->
			<xs:enumeration value="1003" />
			<!-- areaNwkInfo -->
			<xs:enumeration value="1004" />
			<!-- areaNwkDeviceInfo -->
			<xs:enumeration value="1005" />
			<!-- battery -->
			<xs:enumeration value="1006" />
			<!-- deviceInfo -->
			<xs:enumeration value="1007" />
			<!-- deviceCapability -->
			<xs:enumeration value="1008" />
			<!-- reboot -->
			<xs:enumeration value="1009" />
			<!-- eventLog -->
			<xs:enumeration value="1010" />
			<!-- cmdhPolicy -->
			<xs:enumeration value="1011" />
			<!-- activeCmdhPolicy -->
			<xs:enumeration value="1012" />
			<!-- cmdhDefaults -->
			<xs:enumeration value="1013" />
			<!-- cmdhDefEcValue -->
			<xs:enumeration value="1014" />
			<!-- cmdhEcDefParamValues -->
			<xs:enumeration value="1015" />
			<!-- cmdhLimits -->
			<xs:enumeration value="1016" />
			<!-- cmdhNetworkAccessRules -->
			<xs:enumeration value="1017" />
			<!-- cmdhNwAccessRule -->
			<xs:enumeration value="1018" />
			<!-- cmdhBuffer -->
			<xs:enumeration value="1019" />


		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="logTypeId">
		<xs:annotation>
			<xs:documentation>Used for the logTypeId attribute of [eventLog] Management Resource.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- system -->
			<xs:enumeration value="1" />
			<!-- security -->
			<xs:enumeration value="2" />
			<!-- event -->
			<xs:enumeration value="3" />
			<!-- trace -->
			<xs:enumeration value="4" />
			<!-- panic -->
			<xs:enumeration value="5" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="logStatus">
		<xs:annotation>
			<xs:documentation>Used for the logStatus attribute of [eventLog] Management Resource.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<!-- Started -->
			<xs:enumeration value="1" />
			<!-- Stopped -->
			<xs:enumeration value="2" />
			<!-- Unknown -->
			<xs:enumeration value="3" />
			<!-- NotPresent -->
			<xs:enumeration value="4" />
			<!-- Error -->
			<xs:enumeration value="5" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="eventType">
		<xs:restriction base="xs:integer">
			<!-- Data Operation -->
			<xs:enumeration value="1" />
			<!-- Storage based -->
			<xs:enumeration value="2" />
			<!-- Timer Based -->
			<xs:enumeration value="3" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="statsRuleStatusType">
		<xs:restriction base="xs:integer">
			<!-- Active -->
			<xs:enumeration value="1" />
			<!-- Inactive -->
			<xs:enumeration value="2" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="statModelType">
		<xs:restriction base="xs:integer">
			<!-- Event Based -->
			<xs:enumeration value="1" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="encodingType">
		<xs:restriction base="xs:integer">
			<!-- Plain -->
			<xs:enumeration value="0" />
			<!-- base64String -->
			<xs:enumeration value="1" />
			<!-- base64Binary -->
			<xs:enumeration value="2" />
		</xs:restriction>
	</xs:simpleType>
	
	<!-- access control operations -->
    <xs:simpleType name="accessControlOperations">
        <xs:annotation>
            <xs:documentation>Shall be considered for access control policy check by the CSE</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:integer">
            <!-- Create -->
            <xs:enumeration value="1"/>
            <!-- Retrieve -->
            <xs:enumeration value="2"/>
            <!-- Create + Retrieve -->
            <xs:enumeration value="3"/>
            <!-- Update -->
            <xs:enumeration value="4"/>
            <!-- Create + Update -->
            <xs:enumeration value="5"/>
            <!-- Retrieve + Update -->
            <xs:enumeration value="6"/>
            <!-- Create + Retrieve + Update -->
            <xs:enumeration value="7"/>
            <!-- Delete -->
            <xs:enumeration value="8"/>
            <!-- Create + Delete -->
            <xs:enumeration value="9"/>
            <!-- Retrieve + Delete -->
            <xs:enumeration value="10"/>
            <!-- Create + Retrieve + Delete -->
            <xs:enumeration value="11"/>
            <!-- Update + Delete -->
            <xs:enumeration value="12"/>
            <!-- Create + Update + Delete -->
            <xs:enumeration value="13"/>
            <!-- Retrieve + Update + Delete -->
            <xs:enumeration value="14"/>
            <!-- Create + Retrieve + Update + Delete -->
            <xs:enumeration value="15"/>
            <!-- Notify -->
            <xs:enumeration value="16"/>
            <!-- Create + Notify -->
            <xs:enumeration value="17"/>
            <!-- Retrieve + Notify -->
            <xs:enumeration value="18"/>
            <!-- Create + Retrieve + Notify -->
            <xs:enumeration value="19"/>
            <!-- Update + Notify -->
            <xs:enumeration value="20"/>
            <!-- Create + Update + Notify -->
            <xs:enumeration value="21"/>
            <!-- Retrieve + Update + Notify -->
            <xs:enumeration value="22"/>
            <!-- Create + Retrieve + Update -->
            <xs:enumeration value="23"/>
            <!-- Delete + Notify -->
            <xs:enumeration value="24"/>
            <!-- Create + Delete + Notify -->
            <xs:enumeration value="25"/>
            <!-- Retrieve + Delete + Notify -->
            <xs:enumeration value="26"/>
            <!-- Create + Retrieve + Delete + Notify -->
            <xs:enumeration value="27"/>
            <!-- Update + Delete + Notify -->
            <xs:enumeration value="28"/>
            <!-- Create + Update + Delete + Notify -->
            <xs:enumeration value="29"/>
            <!-- Retrieve + Update + Delete + Notify -->
            <xs:enumeration value="30"/>
            <!-- Create + Retrieve + Update + Delete + Notify -->
            <xs:enumeration value="31"/>
            <!-- Discover -->
            <xs:enumeration value="32"/>
            <!-- Create + Discover -->
            <xs:enumeration value="33"/>
            <!-- Retrieve + Discover -->
            <xs:enumeration value="34"/>
            <!-- Create + Retrieve + Discover -->
            <xs:enumeration value="35"/>
            <!-- Update + Discover -->
            <xs:enumeration value="36"/>
            <!-- Create + Update + Discover -->
            <xs:enumeration value="37"/>
            <!-- Retrieve + Update + Discover -->
            <xs:enumeration value="38"/>
            <!-- Create + Retrieve + Update + Discover -->
            <xs:enumeration value="39"/>
            <!-- Delete + Discover -->
            <xs:enumeration value="40"/>
            <!-- Create + Delete + Discover -->
            <xs:enumeration value="41"/>
            <!-- Retrieve + Delete + Discover -->
            <xs:enumeration value="42"/>
            <!-- Create + Retrieve + Delete + Discover -->
            <xs:enumeration value="43"/>
            <!-- Update + Delete + Discover -->
            <xs:enumeration value="44"/>
            <!-- Create + Update + Delete + Discover -->
            <xs:enumeration value="45"/>
            <!-- Retrieve + Update + Delete + Discover -->
            <xs:enumeration value="46"/>
            <!-- Create + Retrieve + Update + Delete + Discover -->
            <xs:enumeration value="47"/>
            <!-- Notify + Discover -->
            <xs:enumeration value="48"/>
            <!-- Create + Notify + Discover -->
            <xs:enumeration value="49"/>
            <!-- Retrieve + Notify + Discover -->
            <xs:enumeration value="50"/>
            <!-- Create + Retrieve + Notify + Discover -->
            <xs:enumeration value="51"/>
            <!-- Update + Notify + Discover -->
            <xs:enumeration value="52"/>
            <!-- Create + Update + Notify + Discover -->
            <xs:enumeration value="53"/>
            <!-- Retrieve + Update + Notify + Discover -->
            <xs:enumeration value="54"/>
            <!-- Create + Retrieve + Update + Discover -->
            <xs:enumeration value="55"/>
            <!-- Delete + Notify + Discover -->
            <xs:enumeration value="56"/>
            <!-- Create + Delete + Notify + Discover -->
            <xs:enumeration value="57"/>
            <!-- Retrieve + Delete + Notify + Discover -->
            <xs:enumeration value="58"/>
            <!-- Create + Retrieve + Delete + Notify + Discover -->
            <xs:enumeration value="59"/>
            <!-- Update + Delete + Notify + Discover -->
            <xs:enumeration value="60"/>
            <!-- Create + Update + Delete + Notify + Discover -->
            <xs:enumeration value="61"/>
            <!-- Retrieve + Update + Delete + Notify + Discover -->
            <xs:enumeration value="62"/>
            <!-- Create + Retrieve + Update + Delete + Notify + Discover -->
            <xs:enumeration value="63"/>
        </xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="SRole-ID">
        <xs:restriction base="xs:token">
            <!-- Software Management -->
            <xs:enumeration value="01-001" />
            <!-- Device Configuration -->
            <xs:enumeration value="02-001" />
            <!-- Device Diagnostics and Management -->
            <xs:enumeration value="02-002" />
            <!-- Device Firmware Management -->
            <xs:enumeration value="02-003" />
            <!-- Device Topology -->
            <xs:enumeration value="02-004" />
            <!-- Location -->
            <xs:enumeration value="03-001" />
            <!-- Basic Data -->
            <xs:enumeration value="04-001" />
            <!-- Onboarding -->
            <xs:enumeration value="05-001" />
            <!-- Security Administration -->
            <xs:enumeration value="06-001" />
            <!-- Groups Management -->
            <xs:enumeration value="07-001" />
            <!-- Event Collection -->
            <xs:enumeration value="08-001" />
        </xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="filterUsage">
        <xs:annotation>
            <xs:documentation>Used in filterCriteria</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:integer">
            <!-- Discovery -->
            <xs:enumeration value="1" />
            <!-- Conditional Retrieval -->
            <xs:enumeration value="2" />
        </xs:restriction>
    </xs:simpleType>
</xs:schema>