XSD for Activation Web Services

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"  elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:element name="activation">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="activationOutput" type="activationOutput" minOccurs="0"/>
        <xs:element name="activationInput" type="activationInput"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="activationOutput">
    <xs:sequence>
      <xs:element name="AID" type="xs:string">
        <xs:annotation>
          <xs:documentation>Aid, identifier on Sentinel LDK-EMS side for each activation</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="protectionKeyId" type="xs:string"/>
      <xs:element name="activationString" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="activationInput">
    <xs:sequence>
      <xs:element name="activationAttribute" type="activationAttribute" maxOccurs="unbounded"/>
      <xs:element name="comments" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="0"/>
            <xs:maxLength value="510"/>
            </xs:restriction>
          </xs:simpleType>
      </xs:element>
      <xs:element name="sendMail" type="xs:boolean" minOccurs="0"/>  
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="activationAttribute">
    <xs:sequence>
      <xs:element name="attributeName">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="C2V"/>
            <xs:enumeration value="ProtectionKeyId"/>
            <xs:enumeration value="CLEAR_BEFORE_APPLYING_UPDATE"/>
          </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="READ_WRITE"/>
            <xs:enumeration value="ORDER_WRITE"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="subGroupName" minOccurs="0"/>
      <xs:element name="endUserPermission" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="NONE"/>
            <xs:enumeration value="READ"/>
            <xs:enumeration value="READ_WRITE"/>
            <xs:enumeration value="ORDER_WRITE"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

NOTE    

>isvPermission(NONE), endUserPermission(READ_WRITE), groupName(LICENSE_TERMS), and subGroupName(no value) are properties associated with the C2V and CLEAR_BEFORE_APPLYING_UPDATE attributes. These are optional properties that may or may not be included and the values stored by them are mentioned in brackets. The values for these properties are fixed and cannot be changed.

>The CLEAR_BEFORE_APPLYING_UPDATE attribute can be set to either "true" or "null". When it is set to true, all products and features on the key are cancelled before applying the update. When it is set to null, only the update is applied and no other changes are made to the key. Data from the key memory is also not cleared.