7 Appendix B: Schema

This section provides the additional schema elements for the extensions defined by the [MS-WSDS] protocol. For clarity, elements of the WS-Enumeration [WSENUM] schema that are not extended by this protocol do not appear in the extended schema. To obtain the fully-extended [WSENUM] schema, the implementer must include nonextended XML elements, attributes, complex types, and so on, from the [WSENUM] schema.

  
 <!--[MS-WSDS] filter extension elements schema]-->
  
 <xsd:schema xmlns:adlq="http://schemas.microsoft.com/2008/1/ActiveDirectory/Dialect/LdapQuery"
              attributeFormDefault="unqualified"
              elementFormDefault="qualified"
              targetNamespace="http://schemas.microsoft.com/2008/1/ActiveDirectory/Dialect/LdapQuery"
              xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  
   <xsd:element name = "LdapQuery">
     <xsd:complexType>
       <xsd:sequence>
         <xsd:element name="Filter" type="xsd:string"
                      minOccurs="1" maxOccurs ="1"  />
         <xsd:element name="BaseObject" type="xsd:string"
                  minOccurs="1"  maxOccurs="1" />
         <xsd:element name="Scope" type="xsd:string"
                      minOccurs="1" maxOccurs="1"   />
       </xsd:sequence>
     </xsd:complexType>
   </xsd:element>
 </xsd:schema>
  
 <!--[MS-WSDS] selection and sorting extension elements schema]-->
  
 <xsd:schema xmlns:ad="http://schemas.microsoft.com/2008/1/ActiveDirectory"
             xmlns:addata="http://schemas.microsoft.com/2008/1/ActiveDirectory/Data"
             attributeFormDefault="unqualified"
             elementFormDefault="qualified"
             targetNamespace="http://schemas.microsoft.com/2008/1/ActiveDirectory"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  
   <xsd:element name ="Selection">
     <xsd:complexType>
       <xsd:sequence>
         <xsd:element name="SelectionProperty" type="xsd:string" minOccurs="1"
                      maxOccurs ="unbounded"  />
       </xsd:sequence>
       <xsd:attribute name="Dialect"
                     fixed="http://schemas.microsoft.com/2008/1/ActiveDirectory/Dialect/XPath-Level-1" use="required"/>
     </xsd:complexType>
   </xsd:element>
  
   <xsd:element name ="Sorting">
     <xsd:complexType>
       <xsd:sequence>
         <xsd:element name="SortingProperty" minOccurs="1"
                      maxOccurs ="1">
           <xsd:complexType>
             <xsd:simpleContent>
               <xsd:extension base="xsd:string">
                 <xsd:attribute name="Ascending" use="optional"
                                type="xsd:boolean" default="true"/>
               </xsd:extension>
             </xsd:simpleContent>
           </xsd:complexType>
         </xsd:element>
       </xsd:sequence>
       <xsd:attribute name="Dialect"
                      fixed="http://schemas.microsoft.com/2008/1/ActiveDirectory/Dialect/XPath-Level-1" use="required"/>
     </xsd:complexType>
   </xsd:element>
 </xsd:schema>
  
 <!--Extended [WSENUM] Schema-->
 <xsd:schema
    targetNamespace="http://schemas.xmlsoap.org/ws/2004/09/enumeration"
    xmlns:wsen="http://schemas.xmlsoap.org/ws/2004/09/enumeration"
    xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      xmlns:adlq="http://schemas.microsoft.com/2008/1/ActiveDirectory/Dialect/LdapQuery"
      xmlns:ad="http://schemas.microsoft.com/2008/1/ActiveDirectory"
      xmlns:addata="http://schemas.microsoft.com/2008/1/ActiveDirectory/Data"
    elementFormDefault="qualified"
    blockDefault="#all">
  
   <xsd:import namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"
                    schemaLocation="http://schemas.xmlsoap.org/ws/2004/08/addressing"/>
   <xsd:import namespace="http://schemas.microsoft.com/2008/1/ActiveDirectory/Dialect/LdapQuery"/>
   <xsd:import namespace="http://schemas.microsoft.com/2008/1/ActiveDirectory"/>
  
   <!--Extended filter type for Enumerate [WSENUM] request-->
  
   <xsd:complexType name="FilterType">
     <xsd:sequence>
       <xsd:element minOccurs="0" maxOccurs="1"
                      ref="adlq:LdapQuery" />
     </xsd:sequence>
     <xsd:attribute name="Dialect"
                      fixed="http://schemas.microsoft.com/2008/1/ActiveDirectory/Dialect/LdapQuery"/>
   </xsd:complexType>
  
   <!--
  
   Other elements from [WSENUM] schema in section <!-- Types and global elements -->:
    PositiveDurationType (simpleType)
    NonNegativeDurationType (simpleType)
    ExpirationType (simpleType)
    EnumerationContextType (complexType)
    ItemListType (complexType)
    LanguageSpecificStringType (complexType)
  
   -->
  
   <!--Extended Enumerate [WSENUM] request-->
   <xsd:element name="Enumerate">
     <xsd:complexType>
       <xsd:sequence>
         <xsd:element name="EndTo" type="wsa:EndpointReferenceType" minOccurs="0" />
         <xsd:element name="Expires" type="wsen:ExpirationType" minOccurs="0" />
         <xsd:element name="Filter" type="wsen:FilterType" minOccurs="0" maxOccurs="1" />
         <xsd:element ref="ad:Selection"
                      minOccurs="0" maxOccurs="1" />
         <xsd:element ref="ad:Sorting"
                      minOccurs="0" maxOccurs="1" />
       </xsd:sequence>
     </xsd:complexType>
   </xsd:element>
  
   <!--
  
   Other elements from [MS-WSPELD] schema in Appendix B:
    ad:Controls (element)
  
   -->
  
   <!--Extended PULL [WSENUM] request-->
   <xsd:element name="Pull">
     <xsd:complexType>
       <xsd:sequence>
         <xsd:element name="EnumerationContext"
                     type="tns:EnumerationContextType" />
         <xsd:element name="MaxTime"
                     type="tns:PositiveDurationType"
                     minOccurs="0" />
         <xsd:element name="MaxElements"
                     type="xsd:positiveInteger"
                     minOccurs="0" />
         <xsd:element name="MaxCharacters"
                     type="xsd:positiveInteger"
                     minOccurs="0" />
         <xsd:element ref="ad:Controls"
                      minOccurs="0"
                      maxOccurs="1" />
       </xsd:sequence>
     </xsd:complexType>
   </xsd:element>
  
   <!--
  
   Other elements from [WSENUM] schema, the following sections in [WSENUM]
  
    Section <!-- Used for a fault response -->
     SupportedDialect (element)
  
    Section <!-- Enumerate response -->
     EnumerateResponse (element)
  
    Section <!-- Pull response -->
     PullResponse (element)
  
    Section <!-- Renew request -->
     Renew (element)
  
    Section <!-- Renew response -->
     RenewResponse (element)
  
    Section <!-- GetStatus request -->
     GetStatus (element)
  
    Section <!-- GetStatus response -->
     GetStatusResponse (element)
  
    Section <!-- Release request -->
     Release (element)
  
    Section <!—-- EnumerationEnd message -->
     EnumerationEnd (elemnet)
     EnumerationEndCodeType (simpleType)
     OpenEnumarationEndCodeType (simpleType)
  
   -->
  
 </xsd:schema>
  
Show: