5 Appendix A: Full XML Schema

For ease of implementation, the following is the full XML schema for this protocol.

 <?xml version="1.0" encoding="utf-8"?>
 <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
   <xs:element name="AzApplicationGroup">
     <xs:complexType>
       <xs:sequence>
         <xs:element name="BizRuleLanguage" type="xs:string" minOccurs="0" />
         <xs:element name="LdapQuery" type="xs:string" minOccurs="0" />
         <xs:element name="BizRule" type="xs:string" minOccurs="0" />
         <xs:element name="BizRuleImportedPath" type="xs:string" minOccurs="0" />
         <xs:element name="AppMemberLink" type="xs:string" minOccurs="0" />
         <xs:element name="Member" nillable="true" minOccurs="0" maxOccurs="unbounded">
           <xs:complexType>
             <xs:simpleContent >
               <xs:extension base="xs:string">
               </xs:extension>
             </xs:simpleContent>
           </xs:complexType>
         </xs:element>
         <xs:element name="NonMember" nillable="true" minOccurs="0" maxOccurs="unbounded">
           <xs:complexType>
             <xs:simpleContent >
               <xs:extension base="xs:string">
               </xs:extension>
             </xs:simpleContent>
           </xs:complexType>
         </xs:element>
       </xs:sequence>
       <xs:attribute name="Guid" type="xs:string" />
       <xs:attribute name="Name" type="xs:string" />
       <xs:attribute name="Description" type="xs:string" />
       <xs:attribute name="GroupType" type="xs:string" />
     </xs:complexType>
   </xs:element>
   <xs:element name="AzTask">
     <xs:complexType>
       <xs:sequence>
         <xs:element name="TaskLink" type="xs:string" minOccurs="0" />
         <xs:element name="OperationLink" nillable="true" minOccurs="0" maxOccurs="unbounded">
           <xs:complexType>
             <xs:simpleContent >
               <xs:extension base="xs:string">
               </xs:extension>
             </xs:simpleContent>
           </xs:complexType>
         </xs:element>
       </xs:sequence>
       <xs:attribute name="Guid" type="xs:string" />
       <xs:attribute name="Name" type="xs:string" />
       <xs:attribute name="Description" type="xs:string" />
       <xs:attribute name="BizRuleImportedPath" type="xs:string" />
       <xs:attribute name="RoleDefinition" type="xs:string" />
     </xs:complexType>
   </xs:element>
   <xs:element name="AzRole">
     <xs:complexType>
       <xs:sequence>
         <xs:element name="TaskLink" type="xs:string" minOccurs="0" />
         <xs:element name="Member" type="xs:string" minOccurs="0" />
         <xs:element name="AppMemberLink" nillable="true" minOccurs="0" maxOccurs="unbounded">
           <xs:complexType>
             <xs:simpleContent >
               <xs:extension base="xs:string">
               </xs:extension>
             </xs:simpleContent>
           </xs:complexType>
         </xs:element>
       </xs:sequence>
       <xs:attribute name="Guid" type="xs:string" />
       <xs:attribute name="Name" type="xs:string" />
       <xs:attribute name="Description" type="xs:string" />
     </xs:complexType>
   </xs:element>
   <xs:element name="AzAdminManager">
     <xs:complexType>
       <xs:sequence>
         <xs:element name="AzApplication" minOccurs="0" maxOccurs="unbounded">
           <xs:complexType>
             <xs:sequence>
               <xs:element ref="AzApplicationGroup" minOccurs="0" maxOccurs="unbounded" />
               <xs:element ref="AzTask" minOccurs="0" maxOccurs="unbounded" />
               <xs:element name="AzOperation" minOccurs="0" maxOccurs="unbounded">
                 <xs:complexType>
                   <xs:sequence>
                     <xs:element name="OperationID" type="xs:string" minOccurs="0" />
                   </xs:sequence>
                   <xs:attribute name="Guid" type="xs:string" />
                   <xs:attribute name="Name" type="xs:string" />
                   <xs:attribute name="Description" type="xs:string" />
                 </xs:complexType>
               </xs:element>
               <xs:element ref="AzRole" minOccurs="0" maxOccurs="unbounded" />
               <xs:element name="AzScope" minOccurs="0" maxOccurs="unbounded">
                 <xs:complexType>
                   <xs:sequence>
                     <xs:element ref="AzApplicationGroup" minOccurs="0" maxOccurs="unbounded" />
                     <xs:element ref="AzTask" minOccurs="0" maxOccurs="unbounded" />
                     <xs:element ref="AzRole" minOccurs="0" maxOccurs="unbounded" />
                   </xs:sequence>
                   <xs:attribute name="Guid" type="xs:string" />
                   <xs:attribute name="Name" type="xs:string" />
                   <xs:attribute name="Description" type="xs:string" />
                 </xs:complexType>
               </xs:element>
             </xs:sequence>
             <xs:attribute name="Guid" type="xs:string" />
             <xs:attribute name="Name" type="xs:string" />
             <xs:attribute name="Description" type="xs:string" />
             <xs:attribute name="ApplicationVersion" type="xs:string" />
           </xs:complexType>
         </xs:element>
         <xs:element ref="AzApplicationGroup" minOccurs="0" maxOccurs="unbounded" />
       </xs:sequence>
       <xs:attribute name="MajorVersion" type="xs:string" />
       <xs:attribute name="MinorVersion" type="xs:string" />
       <xs:attribute name="Guid" type="xs:string" />
       <xs:attribute name="Description" type="xs:string" />
     </xs:complexType>
   </xs:element>
   <xs:element name="NewDataSet" >
     <xs:complexType>
       <xs:choice minOccurs="0" maxOccurs="unbounded">
         <xs:element ref="AzApplicationGroup" />
         <xs:element ref="AzTask" />
         <xs:element ref="AzRole" />
         <xs:element ref="AzAdminManager" />
       </xs:choice>
     </xs:complexType>
   </xs:element>
 </xs:schema>