Partager via


7.1 Common Schemas

Location: http://schemas.microsoft.com/2006/09/sip/commontypes

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
    targetNamespace="http://schemas.microsoft.com/2006/09/sip/commontypes"
    xmlns:tns="http://schemas.microsoft.com/2006/09/sip/commontypes"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:ct="http://schemas.microsoft.com/2006/09/sip/commontypes"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified">
 
  <xs:element name="delimiter">
    <xs:complexType />
  </xs:element>
 
  <xs:element name="end">
    <xs:complexType />
  </xs:element>
 
  <xs:complexType name="extensionType">
    <xs:sequence>
      <xs:any processContents="lax" minOccurs="1"
          maxOccurs="unbounded" namespace="##other"/>
    </xs:sequence>
  </xs:complexType>
 
  <xs:element name="extension" type="tns:extensionType"/>
 
</xs:schema>

Location http://schemas.microsoft.com/2010/12/sip/propertyList

 <?xml version="1.0" encoding="UTF-8"?>
 <xs:schema
   targetNamespace="http://schemas.microsoft.com/2010/12/sip/propertyList"
   xmlns:tns="http://schemas.microsoft.com/2010/12/sip/propertyList"
   xmlns:xs="http://www.w3.org/2001/XMLSchema"
   xmlns:ct="http://schemas.microsoft.com/2006/09/sip/commontypes"
   elementFormDefault="qualified"
   attributeFormDefault="unqualified">
  
   <xs:import namespace="http://schemas.microsoft.com/2006/09/sip/commontypes"
              schemaLocation="commontypes.xsd"/>
  
   <!-- Type definitions -->
  
   <xs:simpleType name="typeEnum">
     <xs:restriction base="xs:token">
       <xs:enumeration value="boolean" />
       <xs:enumeration value="numeric" />
       <xs:enumeration value="string" />
       <xs:enumeration value="object" />
     </xs:restriction>
   </xs:simpleType>
   
   <xs:simpleType name="typeEnumEx">
     <xs:union memberTypes="tns:typeEnum xs:token" />
   </xs:simpleType>
  
   <xs:complexType name="propertyType">
     <xs:choice>
       <xs:sequence minOccurs="1" maxOccurs="unbounded">
         <xs:element name="property" type="tns:propertyType" />
       </xs:sequence>
       <xs:element name="value" type="xs:string" />
     </xs:choice>
     <xs:attribute name="name" type="xs:string" use="required" />
     <xs:attribute name="type" type="tns:typeEnumEx" use="required" />
     <xs:anyAttribute processContents="lax" />
   </xs:complexType>
  
   <xs:complexType name="propertyListType">
     <xs:sequence minOccurs="0" maxOccurs="unbounded">
       <xs:element name="property" type="tns:propertyType" />
       <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>
  
   <!-- Schema elements -->
  
   <xs:element name="propertyList" type="tns:propertyListType" />
  
 </xs:schema>