XSD for Entitlement Web Services

 

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"  elementFormDefault="qualified" version="1.0">
  <xs:include schemaLocation="Product.xsd"/>
  <xs:element name="entitlement" >
  <xs:complexType>
    <xs:sequence>
      <xs:element name="startDate" type="xs:date" minOccurs="0"/>
      <xs:element name="endDate" type="xs:date"  minOccurs="0"/>
      <xs:element name="identity" minOccurs="0">
      <xs:complexType>
        <xs:sequence>
          <xs:element name="count" type="xs:integer" nillable="false" minOccurs="1" maxOccurs="1"/>
          <xs:element name="actionName" maxOccurs="1" minOccurs="0">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="NONE" />
                <xs:enumeration value="SET" />
                <xs:enumeration value="ADD" />
                <xs:enumeration value="SUB" />
                <xs:minLength value="1" />
                <xs:maxLength value="200" />
              </xs:restriction>
            </xs:simpleType>
          </xs:element>
        </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="createDate" type="xs:date" minOccurs="0"/>
      <xs:element name="commitDate" type="xs:date" minOccurs="0"/>
      <xs:element name="enabled" type="xs:boolean" minOccurs="0"/>
      <xs:element name="entState" default="DRAFT" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="DRAFT"/>
            <xs:enumeration value="QUEUED"/>
            <xs:enumeration value="PRODUCT_KEY_GENERATED"/>
            <xs:enumeration value="PRODUCED"/>
            <xs:enumeration value="COMPLETED"/>
            <xs:enumeration value="ACKNOWLEDGED"/>
            <xs:enumeration value="EOL"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="action" default="SAVE" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="SAVE"/>
            <xs:enumeration value="QUEUE"/>
            <xs:enumeration value="PRODUCE"/>
            <xs:enumeration value="ENABLE"/>
            <xs:enumeration value="DISABLE"/>
            <xs:enumeration value="REOPEN"/>
	     <xs:enumeration value="REVOKE"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="isTest" type="xs:boolean" minOccurs="0"/>
      <xs:element name="customerId" type="xs:integer" minOccurs="0"/>
      <xs:element name="customerEmail" type="xs:string" minOccurs="0"/>
      <xs:element name="policy" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="registrationRequired" default="NOT_REQUIRED" minOccurs="0">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:enumeration value="NOT_REQUIRED"/>
                  <xs:enumeration value="DESIRED"/>
                  <xs:enumeration value="MANDATORY"/>
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="0" name="refId1" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="0"></xs:minLength>
            <xs:maxLength value="250"></xs:maxLength>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element minOccurs="0" name="refId2" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="0"></xs:minLength>
            <xs:maxLength value="250"></xs:maxLength>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element minOccurs="0" name="description">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="0"/>
            <xs:maxLength value="510"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="partnerId" type="xs:integer" minOccurs="0"/>
      <xs:element name="partnerName" type="xs:string" minOccurs="0"/>
      <xs:element name="partnerEmail" type="xs:string" minOccurs="0"/>
      <xs:element name="entitlementItem" type="entitlementItem" nillable="true" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  </xs:element>    
  <xs:complexType name="entitlementItem">
    <xs:sequence>
      <xs:element name="startDate" type="xs:date" minOccurs="0" />
      <xs:element name="endDate" type="xs:date" minOccurs="0" />
      <xs:element name="numProductKeys" type="xs:integer" minOccurs="0" />
      <xs:element name="numActivationPerProductKey" type="xs:string" minOccurs="0" />
      <xs:element name="priority" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="A" />
            <xs:enumeration value="B" />
            <xs:enumeration value="C" />
            <xs:enumeration value="D" />
            <xs:enumeration value="E" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="vendorId" type="xs:integer" minOccurs="1" />
      <xs:element name="enforcementId" type="xs:integer" minOccurs="0"/>
      <xs:element name="identityCount" type="xs:integer" minOccurs="0"/>
      <xs:element name="lineItemType" minOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Hardware_Key" />
            <xs:enumeration value="Product_Key" />
            <xs:enumeration value="ProtectionKey_Update" />
            <xs:enumeration value="Cloud_Named" />
            <xs:enumeration value="Cloud_UnNamed" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="deploymentType" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Cloud_OnPremise" />
            <xs:enumeration value="Cloud" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>      
      <xs:element name="featureCachingMode" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Feature_Level" />
            <xs:enumeration value="Entitlement_Level" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="featureCachingModeValue" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CachingModeName" type="xs:string" minOccurs="1"/>
            <xs:element name="CachingModeValue" type="xs:integer" minOccurs="1"/>
            <xs:element name="actionName" maxOccurs="1" minOccurs="0">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="NONE" />
                <xs:enumeration value="SET" />
                <xs:enumeration value="ADD" />
                <xs:enumeration value="SUB" />
                <xs:minLength value="1" />
                <xs:maxLength value="200" />
              </xs:restriction>
            </xs:simpleType>
          </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="itemProduct" type="itemProduct" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="activationAttribute" minOccurs="0"
        maxOccurs="unbounded">
        <xs:complexType>
          <xs:complexContent>
            <xs:extension base="activationAttribute">
              <xs:sequence>
                <xs:element name="attributeName">
                  <xs:simpleType>
                    <xs:restriction
                      base="xs:string">
                      <xs:enumeration
                        value="ACKNOWLEDGEMENT_REQUEST" />
                      <xs:enumeration value="C2V" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:element>
                <xs:element name="attributeValue"
                  type="xs:string" />
                <xs:element name="groupName"
                  minOccurs="0">
                  <xs:simpleType>
                    <xs:restriction
                      base="xs:string">
                      <xs:enumeration
                        value="LICENSE TERMS" />
                      <xs:enumeration
                        value="CONCURRENCY" />
                      <xs:enumeration
                        value="ACCESSIBILITY" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:element>
                <xs:element name="isvPermission"
                  minOccurs="0">
                  <xs:simpleType>
                    <xs:restriction
                      base="xs:string">
                      <xs:enumeration
                        value="NONE" />
                      <xs:enumeration
                        value="READ" />
                      <xs:enumeration
                        value="WRITE" />
                      <xs:enumeration
                        value="ORDER_WRITE" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:element>
                <xs:element name="subGroupName"
                  minOccurs="0" type="xs:string" />
                <xs:element name="endUserPermission"
                  minOccurs="0">
                  <xs:simpleType>
                    <xs:restriction
                      base="xs:string">
                      <xs:enumeration
                        value="NONE" />
                      <xs:enumeration
                        value="READ" />
                      <xs:enumeration
                        value="WRITE" />
                      <xs:enumeration
                        value="ORDER_WRITE" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:element>
              </xs:sequence>
            </xs:extension>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="protectionKeyId" type="xs:string" maxOccurs="unbounded" minOccurs="0"></xs:element>
            <xs:element name="productKeyId" type="xs:string" maxOccurs="unbounded" minOccurs="0"></xs:element>
            <xs:element name="KeyId" type="xs:string" maxOccurs="unbounded" minOccurs="0"></xs:element>
	     <xs:element name="pcId" type="xs:string" maxOccurs="unbounded" minOccurs="0"></xs:element>
        </xs:sequence>
  </xs:complexType>
  <xs:complexType name="activationAttribute"/>
  <xs:complexType name="itemProduct">
    <xs:sequence>
      <xs:element name="productId" type="xs:integer" nillable="false"/>
      <xs:element ref="product" minOccurs="0" maxOccurs="1"/>
      <xs:element name="productStatus" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="attribute" type="attributeType"/>
  <xs:complexType name="attributeType"/>
</xs:schema>