9 Appendix D: MSRTC XML Schemas

Office

See [MS-SIP] section 6 for the full schema of "text/xml+msrtc.pidf" presence document format.

The aggregate element is the last element in the aggregatedPresenceDoc type described in [MS-SIP] section 6.

<xs:complexType name="aggregatedPresenceDoc">
……….
…..
 
<xs:element name="userInfo" …
<xs:element name="devices" …….
<xs:element name="aggregate" type="tns:aggregateType"/> 
</xs:sequence> 
<xs:attribute name="uri" type="ct:sipURI" use="required"/> 
</xs:complexType>
 
 
This section contains the schema for the aggregate element extension
 
 
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
  targetNamespace="http://schemas.microsoft.com/2002/09/sip/presence"
  xmlns:tns="http://schemas.microsoft.com/2002/09/sip/presence"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  elementFormDefault="qualified"
  attributeFormDefault="unqualified">
 
  <xs:simpleType name="activityTokenTypeEnum">
    <xs:restriction base="xs:token">
      <xs:enumeration value="online"/>
      <xs:enumeration value="busy"/>
      <xs:enumeration value="do-not-disturb"/>
      <xs:enumeration value="be-right-back"/>
      <xs:enumeration value="away"/>
      <xs:enumeration value="offline"/>
    </xs:restriction>
  </xs:simpleType>
 
  <xs:simpleType name="activityTokenTypeEnumEx">
    <xs:union memberTypes="tns:activityTokenTypeEnum xs:token" />
  </xs:simpleType>
 
  <xs:complexType name="stateType" abstract="true">
    <xs:simpleContent>
      <xs:extension base="tns:activityTokenTypeEnumEx">
        <xs:attribute name="avail" type="xs:unsignedInt"/>
        <xs:anyAttribute processContents="lax"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  
  <xs:complexType name="userState">
    <xs:complexContent>
      <xs:extension base="tns:stateType"/>
    </xs:complexContent>
  </xs:complexType>
 
  <xs:complexType name="statesType">
    <xs:sequence>
      <xs:element name="state" type="tns:stateType" 
                  minOccurs="1" maxOccurs="1"/>
      </xs:sequence>
  </xs:complexType>
 
  <xs:complexType name="aggregateType">
    <xs:sequence>
      <xs:element name="states" type="tns:statesType" 
                  minOccurs="1" maxOccurs="1"/>
    </xs:sequence>
  </xs:complexType>
 
  <xs:element name="aggregate" type="tns:aggregateType"/>
 
</xs:schema>
 
Show: