6.13 SubscriptionContext

Location: http://schemas.microsoft.com/2008/09/sip/subscription-context

 <xs:schema
   targetNamespace="http://schemas.microsoft.com/2008/09/sip/SubscriptionContext" 
   xmlns:tns="http://schemas.microsoft.com/2008/09/sip/SubscriptionContext"
   xmlns:xs="http://www.w3.org/2001/XMLSchema"
   xmlns:ct="http://schemas.microsoft.com/2006/09/sip/commontypes"
   attributeFormDefault="unqualified"
   elementFormDefault="qualified">
  
   <xs:import namespace="http://schemas.microsoft.com/2006/09/sip/commontypes" 
              schemaLocation="commontypes.xsd"/>
   <xs:complexType name="contactListType">
     <xs:sequence>    
       <xs:sequence minOccurs="0" maxOccurs="1">
         <xs:sequence minOccurs="0" maxOccurs="unbounded">
           <xs:element ref="ct:delimiter" />
           <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
         </xs:sequence>
         <xs:element ref="ct:end" />
       </xs:sequence>
       <xs:element ref="ct:extension" minOccurs="0" maxOccurs="1" />
     </xs:sequence>
     </xs:complexType>
  
   <xs:complexType name="watcherType">
     <xs:sequence>
       <!-- Recipient is part of watcher's contact list.-->
       <xs:element name="contactList" type="tns:contactListType"/>
  
       <xs:sequence minOccurs="0" maxOccurs="1">
         <xs:sequence minOccurs="0" maxOccurs="unbounded">
           <xs:element ref="ct:delimiter" />
           <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
         </xs:sequence>
         <xs:element ref="ct:end" />
       </xs:sequence>
       <xs:element ref="ct:extension" minOccurs="0" maxOccurs="1" />
  
     </xs:sequence>
   </xs:complexType>
  
   <xs:complexType name="delegatorType">
     <xs:sequence>
       <xs:element name="delegator" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
       <xs:sequence minOccurs="0" maxOccurs="1">
         <xs:sequence minOccurs="0" maxOccurs="unbounded">
           <xs:element ref="ct:delimiter" />
           <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
         </xs:sequence>
         <xs:element ref="ct:end" />
       </xs:sequence>
       <xs:element ref="ct:extension" minOccurs="0" maxOccurs="1" />
     </xs:sequence>
   </xs:complexType>
  
   <xs:complexType name="subscriptionContextType">
     <xs:sequence>
      
       <!-- Recipient will be watched by a watcher.-->
       <xs:element name="watcher" type="tns:watcherType" minOccurs="0" maxOccurs="1"/>
       
       <!-- Recipient is a delegate. -->
       <xs:element name="delegation" type="tns:delegatorType" minOccurs="0" maxOccurs="1"/>
  
       <xs:sequence minOccurs="0" maxOccurs="1">
         <xs:sequence minOccurs="0" maxOccurs="unbounded">
           <xs:element ref="ct:delimiter" />
           <xs:any namespace="##targetNamespace" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
         </xs:sequence>
         <xs:element ref="ct:end" />
       </xs:sequence>
       <xs:element ref="ct:extension" minOccurs="0" maxOccurs="1" />
  
  
     </xs:sequence>
     
     <!-- 
     Protocol client does not proceed with the parsing if its major version doesn't 
     match to the version in the xml.
     Change in major version indicates that format is not compatible.
     -->
     <xs:attribute name="majorVersion" type="xs:unsignedInt" use="required" />
  
     <!-- 
     Change in minor version without any change in the major version indicates that
     format is backward compatible.
     -->
     <xs:attribute name="minorVersion" type="xs:unsignedInt" use="required" />
  
     <xs:anyAttribute processContents="lax"/>
   </xs:complexType>
  
   <xs:element name="subscriptionContext" type="tns:subscriptionContextType"/>
 </xs:schema>