Schema

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">	
<xs:element name="licenseSession" />	
<xs:element name="registration" />	
<xs:element name="licenses" />	
<xs:element name="error" />	

<!-- Following schema is for of "licenseSession" -->
<xs:complexType name="licenseSession">
<xs:sequence>
<!-- Following elements will be part of licenseSession (POST) request -->
<xs:element type="xs:string" name="user" />
<xs:element type="xs:string" name="customer" />
<xs:element name="featureNode">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="featureVersion" minOccurs='0' />
<xs:element type="xs:string" name="featureName" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="vendorData" minOccurs='0' />
<xs:element type="xs:int" name="unitsRequired" minOccurs='0' />
<!-- Following element will be part of licenseSession (POST & PATCH) request -->
<xs:element type="xs:int" name="usageCountMultiplier" minOccurs='0' />		
<!-- Following element will be part of licenseSession (POST) successful response  -->
<xs:element type="xs:string" name="licenseSessionId" /> 
<!-- Following element will be part of licenseSession (DELETE & PATCH) successful response  -->
<xs:element type="xs:string" name="status" />		
</xs:sequence>
</xs:complexType>

<!-- Following schema is for "registration" -->
<xs:complexType name="registration">
<xs:sequence>
<!-- Following schema is for registration (POST) response -->
<xs:element type="xs:string" name="url" />
<xs:element type="xs:string" name="registrationId" />						
</xs:sequence>
</xs:complexType>

<!-- Following schema is for of "license" (GET) response-->
<xs:complexType name="licenses">
<xs:sequence>
<!-- Following schema is for of "license" (GET) successful response-->
<xs:element name="entitlement"  >
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="entitlementId" />
<xs:element name="product">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="productName" />
<xs:element type="xs:byte" name="productVersion" />
<xs:element name="feature" minOccurs='1'>
  <xs:complexType>
	<xs:sequence>
	  <xs:element type="xs:int" name="featureId" />
	  <xs:element type="xs:string" name="featureName" />
	  <xs:element type="xs:string" name="featureVersion" />
	  <xs:element type="xs:string" name="usable" />
	  <xs:element type="xs:string" name="usabilityStatus" />
	   <xs:element name="concurrencyLimit" >
	   <xs:simpleType>
			<xs:union memberTypes="xs:int xs:string" />
	   </xs:simpleType>
	   </xs:element>
	  <xs:element type="xs:dateTime" name="startDate" />
	  <xs:element type="xs:string" name="endDate" />
	  <xs:element type="xs:string" name="vendorInfo" />
	  <xs:element type="xs:int" name="endDateGraceDuration" />
	  <xs:element type="xs:string" name="concurrencyCriteria" minOccurs='0' />
	  <xs:element type="xs:int" name="runningSessions" minOccurs='0' />
	  <xs:element type="xs:string" name="usageCountGrace" minOccurs='0' />
	  <xs:element type="xs:int" name="usageCountConsumed" minOccurs='0' />
	  <xs:element name="usageLimit" >
	  <xs:simpleType>
			<xs:union memberTypes="xs:int xs:string" />
	   </xs:simpleType>
	  </xs:element>
	</xs:sequence>
  </xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>		
</xs:sequence>
</xs:complexType>

<!-- Following schema for error response -->
<xs:complexType name="error">
<xs:sequence>
<xs:element type="xs:string" name="status" />
<xs:element type="xs:short" name="errorCode" />
<xs:element type="xs:string" name="errorDescription"/>
</xs:sequence>
</xs:complexType>
</xs:schema>