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>