Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
For ease of implementation, the full XML schema for request XML is provided in the following code:
-
<?xml version="1.0" encoding="utf-8"?> <xs:schema id="clientquery" targetNamespace="http://schemas.microsoft.com/sharepoint/clientquery/2009" elementFormDefault="qualified" xmlns:mstns="http://schemas.microsoft.com/sharepoint/clientquery/2009" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:simpleType name="GuidType"> <xs:restriction base="xs:string"> <xs:pattern value="\{[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}\}"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="ObjectPathIdType"> <xs:restriction base="mstns:IdType"/> </xs:simpleType> <xs:simpleType name="IdType"> <xs:restriction base="xs:integer"/> </xs:simpleType> <xs:simpleType name="ActionIdType"> <xs:restriction base="mstns:IdType"/> </xs:simpleType> <xs:simpleType name="TypeIdGuidType"> <xs:restriction base="mstns:GuidType"/> </xs:simpleType> <xs:simpleType name="TypeFunctionTypeType"> <xs:restriction base="xs:string"> <xs:enumeration value="Boolean"/> <xs:enumeration value="Byte"/> <xs:enumeration value="SByte"/> <xs:enumeration value="Char"/> <xs:enumeration value="Int16"/> <xs:enumeration value="UInt16"/> <xs:enumeration value="Int32"/> <xs:enumeration value="UInt32"/> <xs:enumeration value="Int64"/> <xs:enumeration value="UInt64"/> <xs:enumeration value="DateTime"/> <xs:enumeration value="Single"/> <xs:enumeration value="Double"/> <xs:enumeration value="Decimal"/> <xs:enumeration value="TimeSpan"/> <xs:enumeration value="String"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="PropertyNameType"> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="StaticPropertyNameType"> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="MethodNameType"> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="StaticMethodNameType"> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="MethodParameterTypeType"> <xs:restriction base="xs:string"> <xs:enumeration value="Null"/> <xs:enumeration value="Boolean"/> <xs:enumeration value="Char"/> <xs:enumeration value="Byte"/> <xs:enumeration value="SByte"/> <xs:enumeration value="Int16"/> <xs:enumeration value="UInt16"/> <xs:enumeration value="Int32"/> <xs:enumeration value="UInt32"/> <xs:enumeration value="Int64"/> <xs:enumeration value="UInt64"/> <xs:enumeration value="DateTime"/> <xs:enumeration value="Single"/> <xs:enumeration value="Double"/> <xs:enumeration value="Decimal"/> <xs:enumeration value="TimeSpan"/> <xs:enumeration value="Guid"/> <xs:enumeration value="String"/> <xs:enumeration value="Base64Binary"/> <xs:enumeration value="Dictionary"/> <xs:enumeration value="Array"/> <xs:enumeration value="Enum"/> <xs:enumeration value="Number"/> <xs:enumeration value="Unspecified"/> <xs:enumeration value="Binary"/> </xs:restriction> </xs:simpleType> <xs:complexType name="MethodParameterType" mixed="true"> <xs:sequence> <xs:element name="Property" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:complexContent> <xs:extension base="mstns:MethodParameterType"> <xs:attribute name="Name" type="mstns:PropertyNameType" use="required"/> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> <xs:element name="Object" type="mstns:MethodParameterType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="Include" minOccurs="0" maxOccurs="1"> <xs:complexType> <xs:attribute name="href" use="required" type="xs:string"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="ObjectPathId" type="mstns:ObjectPathIdType" use="optional"/> <xs:attribute name="TypeId" type="mstns:TypeIdGuidType" use="optional"/> <xs:attribute name="Type" type="mstns:MethodParameterTypeType" use="optional"/> </xs:complexType> <xs:complexType name="MethodParameterNullType"> <xs:attribute name="Type" type="xs:string" use="required" fixed="Null"/> </xs:complexType> <xs:complexType name="MethodParameterBooleanType"> <xs:simpleContent> <xs:extension base="xs:boolean"> <xs:attribute name="Type" type="xs:string" use="required" fixed="Boolean"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="MethodParameterCharType"> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="Type" type="xs:string" use="required" fixed="Char"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="MethodParameterByteType"> <xs:simpleContent> <xs:extension base="xs:unsignedByte"> <xs:attribute name="Type" type="xs:string" use="required" fixed="Byte"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="MethodParameterSByteType"> <xs:simpleContent> <xs:extension base="xs:byte"> <xs:attribute name="Type" type="xs:string" use="required" fixed="SByte"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="MethodParameterInt16Type"> <xs:simpleContent> <xs:extension base="xs:short"> <xs:attribute name="Type" type="xs:string" use="required" fixed="Int16"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="MethodParameterUInt16Type"> <xs:simpleContent> <xs:extension base="xs:unsignedShort"> <xs:attribute name="Type" type="xs:string" use="required" fixed="UInt16"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="MethodParameterInt32Type"> <xs:simpleContent> <xs:extension base="xs:int"> <xs:attribute name="Type" type="xs:string" use="required" fixed="Int32"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="MethodParameterUInt32Type"> <xs:simpleContent> <xs:extension base="xs:unsignedInt"> <xs:attribute name="Type" type="xs:string" use="required" fixed="UInt32"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="MethodParameterInt64Type"> <xs:simpleContent> <xs:extension base="xs:long"> <xs:attribute name="Type" type="xs:string" use="required" fixed="Int64"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="MethodParameterUInt64Type"> <xs:simpleContent> <xs:extension base="xs:unsignedLong"> <xs:attribute name="Type" type="xs:string" use="required" fixed="UInt64"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="MethodParameterSingleType"> <xs:simpleContent> <xs:extension base="xs:float"> <xs:attribute name="Type" type="xs:string" use="required" fixed="Single"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="MethodParameterDoubleType"> <xs:simpleContent> <xs:extension base="xs:double"> <xs:attribute name="Type" type="xs:string" use="required" fixed="Double"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="MethodParameterDecimalType"> <xs:simpleContent> <xs:extension base="xs:decimal"> <xs:attribute name="Type" type="xs:string" use="required" fixed="Decimal"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="MethodParameterTimeSpanType"> <xs:simpleContent> <xs:extension base="xs:duration"> <xs:attribute name="Type" type="xs:string" use="required" fixed="TimeSpan"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="MethodParameterDateTimeType"> <xs:simpleContent> <xs:extension base="xs:dateTime"> <xs:attribute name="Type" type="xs:string" use="required" fixed="DateTime"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="MethodParameterGuidType"> <xs:simpleContent> <xs:extension base="mstns:GuidType"> <xs:attribute name="Type" type="xs:string" use="required" fixed="Guid"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="MethodParameterStringType"> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="Type" type="xs:string" use="required" fixed="String"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="MethodParameterByteArrayType"> <xs:simpleContent> <xs:extension base="xs:base64Binary"> <xs:attribute name="Type" type="xs:string" use="required" fixed="Base64Binary"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="MethodParameterDictionaryType"> <xs:sequence> <xs:element name="Property" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:complexContent> <xs:extension base="mstns:MethodParameterType"> <xs:attribute name="Name" type="xs:string" use="required"/> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="Type" type="xs:string" use="required" fixed="Dictionary"/> </xs:complexType> <xs:complexType name="MethodParameterNumberType"> <xs:simpleContent> <xs:extension base="xs:decimal"> <xs:attribute name="Type" type="xs:string" use="required" fixed="Number"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="MethodParameterObjectPathType"> <xs:attribute name="ObjectPathId" type="mstns:ObjectPathIdType" use="required"/> </xs:complexType> <xs:complexType name="MethodParameterBinaryType"> <xs:sequence> <xs:element name="Include" minOccurs="1" maxOccurs="1"> <xs:complexType> <xs:attribute name="href" use="required" type="xs:string"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="MethodParameterValueObjectType"> <xs:sequence> <xs:element name="Property" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:complexContent> <xs:extension base="mstns:MethodParameterType"> <xs:attribute name="Name" type="xs:string" use="required"/> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="TypeId" type="mstns:TypeIdGuidType" use="required"/> </xs:complexType> <xs:complexType name="MethodParameterArrayType"> <xs:sequence> <xs:element name="Object" minOccurs="0" maxOccurs="unbounded" type="mstns:MethodParameterType"/> </xs:sequence> <xs:attribute name="Type" type="xs:string" use="required" fixed="Array"/> </xs:complexType> <xs:complexType name="MethodParameterEnumType"> <xs:simpleContent> <xs:extension base="xs:integer"> <xs:attribute name="Type" type="xs:string" use="required" fixed="Enum"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="MethodParameterUnspecifiedType"> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="Type" type="xs:string" use="required" fixed="Unspecified"/> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:simpleType name="VersionStringType"> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{1,8}\.[0-9]{1,8}\.[0-9]{1,8}\.[0-9]{1,8}"/> </xs:restriction> </xs:simpleType> <xs:complexType name="RequestType"> <xs:sequence> <xs:element name="Actions" type="mstns:ActionsType"/> <xs:element name="ObjectPaths" type="mstns:ObjectPathsType"/> </xs:sequence> <xs:attribute name="AddExpandoFieldTypeSuffix" type="xs:boolean" use="optional"/> <xs:attribute name="SchemaVersion" type="mstns:VersionStringType" use="required"/> <xs:attribute name="LibraryVersion" type="mstns:VersionStringType" use="required"/> <xs:attribute name="ApplicationName" use="optional"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="128"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> <xs:complexType name="ObjectPathsType"> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="Property" type="mstns:ObjectPathPropertyType"/> <xs:element name="StaticProperty" type="mstns:ObjectPathStaticPropertyType"/> <xs:element name="Method" type="mstns:ObjectPathMethodType"/> <xs:element name="StaticMethod" type="mstns:ObjectPathStaticMethodType"/> <xs:element name="Constructor" type="mstns:ObjectPathConstructorType"/> <xs:element name="Identity" type="mstns:ObjectPathObjectIdentityNameType"/> </xs:choice> </xs:sequence> </xs:complexType> <xs:complexType name="ObjectPathPropertyType"> <xs:attribute name="Id" type="mstns:ObjectPathIdType" use="required"/> <xs:attribute name="ParentId" type="mstns:ObjectPathIdType" use="required"/> <xs:attribute name="Name" type="mstns:PropertyNameType" use="required"/> </xs:complexType> <xs:complexType name="ObjectPathStaticPropertyType"> <xs:attribute name="Id" type="mstns:ObjectPathIdType" use="required"/> <xs:attribute name="TypeId" type="mstns:TypeIdGuidType" use="required"/> <xs:attribute name="Name" type="mstns:StaticPropertyNameType" use="required"/> </xs:complexType> <xs:complexType name="ObjectPathMethodType"> <xs:sequence> <xs:element name="Parameters" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Parameter" type="mstns:MethodParameterType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="Id" type="mstns:ObjectPathIdType" use="required"/> <xs:attribute name="ParentId" type="mstns:ObjectPathIdType" use="required"/> <xs:attribute name="Name" type="mstns:MethodNameType" use="required"/> </xs:complexType> <xs:complexType name="ObjectPathStaticMethodType"> <xs:sequence> <xs:element name="Parameters" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Parameter" type="mstns:MethodParameterType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="Id" type="mstns:ObjectPathIdType" use="required"/> <xs:attribute name="TypeId" type="mstns:TypeIdGuidType" use="required"/> <xs:attribute name="Name" type="mstns:StaticMethodNameType" use="required"/> </xs:complexType> <xs:complexType name="ObjectPathConstructorType"> <xs:sequence> <xs:element name="Parameters" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Parameter" type="mstns:MethodParameterType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="Id" type="mstns:ObjectPathIdType" use="required"/> <xs:attribute name="TypeId" type="mstns:TypeIdGuidType" use="required"/> </xs:complexType> <xs:complexType name="ObjectPathObjectIdentityNameType"> <xs:attribute name="Id" type="mstns:ObjectPathIdType" use="required"/> <xs:attribute name="Name" type="xs:string" use="required"/> </xs:complexType> <xs:complexType name="ActionsType"> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="SetProperty" type="mstns:ActionSetPropertyType"/> <xs:element name="SetStaticProperty" type="mstns:ActionSetStaticPropertyType"/> <xs:element name="Method" type="mstns:ActionInvokeMethodType"/> <xs:element name="StaticMethod" type="mstns:ActionInvokeStaticMethodType"/> <xs:element name="ObjectPath" type="mstns:ActionInstantiateObjectPathType"/> <xs:element name="ObjectIdentityQuery" type="mstns:ActionObjectIdentityQueryType"/> <xs:element name="Query" type="mstns:ActionQueryType"/> <xs:element name="ExceptionHandlingScope" type="mstns:ExceptionHandlingScopeType"/> <xs:element name="ExceptionHandlingScopeSimple" type="mstns:ExceptionHandlingScopeSimpleType"/> <xs:element name="ConditionalScope" type="mstns:ConditionalScopeType"/> </xs:choice> </xs:sequence> </xs:complexType> <xs:group name="ActionGroup"> <xs:choice> <xs:element name="SetProperty" type="mstns:ActionSetPropertyType"/> <xs:element name="SetStaticProperty" type="mstns:ActionSetStaticPropertyType"/> <xs:element name="Method" type="mstns:ActionInvokeMethodType"/> <xs:element name="StaticMethod" type="mstns:ActionInvokeStaticMethodType"/> <xs:element name="ObjectPath" type="mstns:ActionInstantiateObjectPathType"/> <xs:element name="ObjectIdentityQuery" type="mstns:ActionObjectIdentityQueryType"/> <xs:element name="Query" type="mstns:ActionQueryType"/> <xs:element name="ExceptionHandlingScope" type="mstns:ExceptionHandlingScopeType"/> <xs:element name="ExceptionHandlingScopeSimple" type="mstns:ExceptionHandlingScopeSimpleType"/> <xs:element name="ConditionalScope" type="mstns:ConditionalScopeType"/> </xs:choice> </xs:group> <xs:complexType name="ActionSetPropertyType"> <xs:sequence> <xs:element name="Parameter" type="mstns:MethodParameterType"/> </xs:sequence> <xs:attribute name="Id" type="mstns:ActionIdType" use="required"/> <xs:attribute name="ObjectPathId" type="mstns:ObjectPathIdType" use="required"/> <xs:attribute name="Name" type="mstns:PropertyNameType" use="required"/> </xs:complexType> <xs:complexType name="ActionSetStaticPropertyType"> <xs:sequence> <xs:element name="Parameter" type="mstns:MethodParameterType"/> </xs:sequence> <xs:attribute name="Id" type="mstns:ActionIdType" use="required"/> <xs:attribute name="TypeId" type="mstns:TypeIdGuidType" use="required"/> <xs:attribute name="Name" type="mstns:StaticPropertyNameType" use="required"/> </xs:complexType> <xs:complexType name="ActionInvokeMethodType"> <xs:sequence> <xs:element name="Parameters" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Parameter" type="mstns:MethodParameterType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="Id" type="mstns:ActionIdType" use="required"/> <xs:attribute name="ObjectPathId" type="mstns:ObjectPathIdType" use="required"/> <xs:attribute name="Name" type="mstns:MethodNameType" use="required"/> <xs:attribute name="Version" type="xs:string" use="optional"/> </xs:complexType> <xs:complexType name="ActionInvokeStaticMethodType"> <xs:sequence> <xs:element name="Parameters" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Parameter" type="mstns:MethodParameterType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="Id" type="mstns:ActionIdType" use="required"/> <xs:attribute name="TypeId" type="mstns:TypeIdGuidType" use="required"/> <xs:attribute name="Name" type="mstns:StaticMethodNameType" use="required"/> </xs:complexType> <xs:complexType name="ActionInstantiateObjectPathType"> <xs:attribute name="Id" type="mstns:ActionIdType" use="required"/> <xs:attribute name="ObjectPathId" type="mstns:ObjectPathIdType" use="required"/> </xs:complexType> <xs:complexType name="ActionObjectIdentityQueryType"> <xs:attribute name="Id" type="mstns:ActionIdType" use="required"/> <xs:attribute name="ObjectPathId" type="mstns:ObjectPathIdType" use="required"/> </xs:complexType> <xs:complexType name="ActionQueryType"> <xs:sequence> <xs:element name="Query" type="mstns:QueryType"/> <xs:element name="ChildItemQuery" type="mstns:ChildItemQueryType" minOccurs="0"/> </xs:sequence> <xs:attribute name="Id" type="mstns:ActionIdType" use="required"/> <xs:attribute name="ObjectPathId" type="mstns:ObjectPathIdType" use="required"/> </xs:complexType> <xs:complexType name="QueryType"> <xs:sequence> <xs:element name="Properties"> <xs:complexType> <xs:sequence> <xs:element name="Property" type="mstns:QueryPropertyType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="SelectAllProperties" type="xs:boolean" use="optional"/> </xs:complexType> <xs:complexType name="ChildItemQueryType"> <xs:complexContent> <xs:extension base="mstns:QueryType"> <xs:sequence> <xs:element name="QueryableExpression" type="mstns:ExpressionQueryableExpressionType" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="QueryPropertyType"> <xs:sequence> <xs:element name="Query" type="mstns:QueryType" minOccurs="0"/> <xs:element name="ChildItemQuery" type="mstns:ChildItemQueryType" minOccurs="0"/> </xs:sequence> <xs:attribute name="Name" type="mstns:PropertyNameType" use="required"/> <xs:attribute name="ScalarProperty" type="xs:boolean" use="optional"/> <xs:attribute name="SelectAll" type="xs:boolean" use="optional"/> </xs:complexType> <xs:complexType name="ExceptionHandlingScopeSimpleType"> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="SetProperty" type="mstns:ActionSetPropertyType"/> <xs:element name="SetStaticProperty" type="mstns:ActionSetStaticPropertyType"/> <xs:element name="Method" type="mstns:ActionInvokeMethodType"/> <xs:element name="StaticMethod" type="mstns:ActionInvokeStaticMethodType"/> <xs:element name="ObjectPath" type="mstns:ActionInstantiateObjectPathType"/> <xs:element name="ObjectIdentityQuery" type="mstns:ActionObjectIdentityQueryType"/> <xs:element name="Query" type="mstns:ActionQueryType"/> <xs:element name="ExceptionHandlingScope" type="mstns:ExceptionHandlingScopeType"/> <xs:element name="ExceptionHandlingScopeSimple" type="mstns:ExceptionHandlingScopeSimpleType"/> <xs:element name="ConditionalScope" type="mstns:ConditionalScopeType"/> </xs:choice> </xs:sequence> <xs:attribute name="Id" type="mstns:ActionIdType" use="required"/> </xs:complexType> <xs:complexType name="ExceptionHandlingScopeType"> <xs:sequence> <xs:element name="TryScope"> <xs:complexType> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="SetProperty" type="mstns:ActionSetPropertyType"/> <xs:element name="SetStaticProperty" type="mstns:ActionSetStaticPropertyType"/> <xs:element name="Method" type="mstns:ActionInvokeMethodType"/> <xs:element name="StaticMethod" type="mstns:ActionInvokeStaticMethodType"/> <xs:element name="ObjectPath" type="mstns:ActionInstantiateObjectPathType"/> <xs:element name="ObjectIdentityQuery" type="mstns:ActionObjectIdentityQueryType"/> <xs:element name="Query" type="mstns:ActionQueryType"/> <xs:element name="ExceptionHandlingScope" type="mstns:ExceptionHandlingScopeType"/> <xs:element name="ExceptionHandlingScopeSimple" type="mstns:ExceptionHandlingScopeSimpleType"/> <xs:element name="ConditionalScope" type="mstns:ConditionalScopeType"/> </xs:choice> </xs:sequence> <xs:attribute name="Id" type="mstns:IdType" use="required"/> </xs:complexType> </xs:element> <xs:element name="CatchScope" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="SetProperty" type="mstns:ActionSetPropertyType"/> <xs:element name="SetStaticProperty" type="mstns:ActionSetStaticPropertyType"/> <xs:element name="Method" type="mstns:ActionInvokeMethodType"/> <xs:element name="StaticMethod" type="mstns:ActionInvokeStaticMethodType"/> <xs:element name="ObjectPath" type="mstns:ActionInstantiateObjectPathType"/> <xs:element name="ObjectIdentityQuery" type="mstns:ActionObjectIdentityQueryType"/> <xs:element name="Query" type="mstns:ActionQueryType"/> <xs:element name="ExceptionHandlingScope" type="mstns:ExceptionHandlingScopeType"/> <xs:element name="ExceptionHandlingScopeSimple" type="mstns:ExceptionHandlingScopeSimpleType"/> <xs:element name="ConditionalScope" type="mstns:ConditionalScopeType"/> </xs:choice> </xs:sequence> <xs:attribute name="Id" type="mstns:IdType" use="required"/> </xs:complexType> </xs:element> <xs:element name="FinallyScope" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="SetProperty" type="mstns:ActionSetPropertyType"/> <xs:element name="SetStaticProperty" type="mstns:ActionSetStaticPropertyType"/> <xs:element name="Method" type="mstns:ActionInvokeMethodType"/> <xs:element name="StaticMethod" type="mstns:ActionInvokeStaticMethodType"/> <xs:element name="ObjectPath" type="mstns:ActionInstantiateObjectPathType"/> <xs:element name="ObjectIdentityQuery" type="mstns:ActionObjectIdentityQueryType"/> <xs:element name="Query" type="mstns:ActionQueryType"/> <xs:element name="ExceptionHandlingScope" type="mstns:ExceptionHandlingScopeType"/> <xs:element name="ExceptionHandlingScopeSimple" type="mstns:ExceptionHandlingScopeSimpleType"/> <xs:element name="ConditionalScope" type="mstns:ConditionalScopeType"/> </xs:choice> </xs:sequence> <xs:attribute name="Id" type="mstns:IdType" use="required"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="Id" type="mstns:ActionIdType" use="required"/> </xs:complexType> <xs:complexType name="ConditionalScopeType"> <xs:sequence> <xs:element name="Test"> <xs:complexType> <xs:all> <xs:element name="Body" type="mstns:ExpressionType"/> </xs:all> </xs:complexType> </xs:element> <xs:element name="IfTrueScope" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="SetProperty" type="mstns:ActionSetPropertyType"/> <xs:element name="SetStaticProperty" type="mstns:ActionSetStaticPropertyType"/> <xs:element name="Method" type="mstns:ActionInvokeMethodType"/> <xs:element name="StaticMethod" type="mstns:ActionInvokeStaticMethodType"/> <xs:element name="ObjectPath" type="mstns:ActionInstantiateObjectPathType"/> <xs:element name="ObjectIdentityQuery" type="mstns:ActionObjectIdentityQueryType"/> <xs:element name="Query" type="mstns:ActionQueryType"/> <xs:element name="ExceptionHandlingScope" type="mstns:ExceptionHandlingScopeType"/> <xs:element name="ExceptionHandlingScopeSimple" type="mstns:ExceptionHandlingScopeSimpleType"/> <xs:element name="ConditionalScope" type="mstns:ConditionalScopeType"/> </xs:choice> </xs:sequence> <xs:attribute name="Id" type="mstns:IdType" use="required"/> </xs:complexType> </xs:element> <xs:element name="IfFalseScope" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="SetProperty" type="mstns:ActionSetPropertyType"/> <xs:element name="SetStaticProperty" type="mstns:ActionSetStaticPropertyType"/> <xs:element name="Method" type="mstns:ActionInvokeMethodType"/> <xs:element name="StaticMethod" type="mstns:ActionInvokeStaticMethodType"/> <xs:element name="ObjectPath" type="mstns:ActionInstantiateObjectPathType"/> <xs:element name="ObjectIdentityQuery" type="mstns:ActionObjectIdentityQueryType"/> <xs:element name="Query" type="mstns:ActionQueryType"/> <xs:element name="ExceptionHandlingScope" type="mstns:ExceptionHandlingScopeType"/> <xs:element name="ExceptionHandlingScopeSimple" type="mstns:ExceptionHandlingScopeSimpleType"/> <xs:element name="ConditionalScope" type="mstns:ConditionalScopeType"/> </xs:choice> </xs:sequence> <xs:attribute name="Id" type="mstns:IdType" use="required"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="Id" type="mstns:ActionIdType" use="required"/> </xs:complexType> <xs:complexType name="ExpressionType"> <xs:sequence> <xs:choice> <xs:element name="GT" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="LT" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="EQ" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="NE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="GE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="LE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="AND" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="OR" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="NOT" type="mstns:ExpressionType"/> <xs:element name="ExpressionMethod" type="mstns:ExpressionMethodExpressionType"/> <xs:element name="ExpressionStaticMethod" type="mstns:ExpressionStaticMethodExpressionType"/> <xs:element name="ExpressionProperty" type="mstns:ExpressionPropertyExpressionType"/> <xs:element name="ExpressionStaticProperty" type="mstns:ExpressionStaticPropertyExpressionType"/> <xs:element name="ExpressionParameter" type="mstns:ExpressionParameterExpressionType"/> <xs:element name="ExpressionConvert" type="mstns:ExpressionConvertExpressionType"/> <xs:element name="ExpressionTypeIs" type="mstns:ExpressionTypeIsExpressionType"/> <xs:element name="ExpressionConstant" type="mstns:MethodParameterType"/> </xs:choice> </xs:sequence> </xs:complexType> <xs:group name="ExpressionGroup"> <xs:choice> <xs:element name="GT" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="LT" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="EQ" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="NE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="GE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="LE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="AND" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="OR" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="NOT" type="mstns:ExpressionType"/> <xs:element name="ExpressionMethod" type="mstns:ExpressionMethodExpressionType"/> <xs:element name="ExpressionStaticMethod" type="mstns:ExpressionStaticMethodExpressionType"/> <xs:element name="ExpressionProperty" type="mstns:ExpressionPropertyExpressionType"/> <xs:element name="ExpressionStaticProperty" type="mstns:ExpressionStaticPropertyExpressionType"/> <xs:element name="ExpressionParameter" type="mstns:ExpressionParameterExpressionType"/> <xs:element name="ExpressionConvert" type="mstns:ExpressionConvertExpressionType"/> <xs:element name="ExpressionTypeIs" type="mstns:ExpressionTypeIsExpressionType"/> <xs:element name="ExpressionConstant" type="mstns:MethodParameterType"/> </xs:choice> </xs:group> <xs:complexType name="ExpressionLeftRightOperandExpressionType"> <xs:sequence> <xs:choice> <xs:element name="GT" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="LT" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="EQ" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="NE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="GE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="LE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="AND" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="OR" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="NOT" type="mstns:ExpressionType"/> <xs:element name="ExpressionMethod" type="mstns:ExpressionMethodExpressionType"/> <xs:element name="ExpressionStaticMethod" type="mstns:ExpressionStaticMethodExpressionType"/> <xs:element name="ExpressionProperty" type="mstns:ExpressionPropertyExpressionType"/> <xs:element name="ExpressionStaticProperty" type="mstns:ExpressionStaticPropertyExpressionType"/> <xs:element name="ExpressionParameter" type="mstns:ExpressionParameterExpressionType"/> <xs:element name="ExpressionConvert" type="mstns:ExpressionConvertExpressionType"/> <xs:element name="ExpressionTypeIs" type="mstns:ExpressionTypeIsExpressionType"/> <xs:element name="ExpressionConstant" type="mstns:MethodParameterType"/> </xs:choice> <xs:choice> <xs:element name="GT" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="LT" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="EQ" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="NE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="GE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="LE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="AND" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="OR" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="NOT" type="mstns:ExpressionType"/> <xs:element name="ExpressionMethod" type="mstns:ExpressionMethodExpressionType"/> <xs:element name="ExpressionStaticMethod" type="mstns:ExpressionStaticMethodExpressionType"/> <xs:element name="ExpressionProperty" type="mstns:ExpressionPropertyExpressionType"/> <xs:element name="ExpressionStaticProperty" type="mstns:ExpressionStaticPropertyExpressionType"/> <xs:element name="ExpressionParameter" type="mstns:ExpressionParameterExpressionType"/> <xs:element name="ExpressionConvert" type="mstns:ExpressionConvertExpressionType"/> <xs:element name="ExpressionTypeIs" type="mstns:ExpressionTypeIsExpressionType"/> <xs:element name="ExpressionConstant" type="mstns:MethodParameterType"/> </xs:choice> </xs:sequence> </xs:complexType> <xs:complexType name="ExpressionPropertyExpressionType"> <xs:sequence> <xs:choice> <xs:element name="GT" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="LT" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="EQ" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="NE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="GE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="LE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="AND" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="OR" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="NOT" type="mstns:ExpressionType"/> <xs:element name="ExpressionMethod" type="mstns:ExpressionMethodExpressionType"/> <xs:element name="ExpressionStaticMethod" type="mstns:ExpressionStaticMethodExpressionType"/> <xs:element name="ExpressionProperty" type="mstns:ExpressionPropertyExpressionType"/> <xs:element name="ExpressionStaticProperty" type="mstns:ExpressionStaticPropertyExpressionType"/> <xs:element name="ExpressionParameter" type="mstns:ExpressionParameterExpressionType"/> <xs:element name="ExpressionConvert" type="mstns:ExpressionConvertExpressionType"/> <xs:element name="ExpressionConstant" type="mstns:MethodParameterType"/> </xs:choice> </xs:sequence> <xs:attribute name="Name" type="mstns:PropertyNameType" use="required"/> </xs:complexType> <xs:complexType name="ExpressionStaticPropertyExpressionType"> <xs:sequence/> <xs:attribute name="Name" type="mstns:StaticPropertyNameType" use="required"/> <xs:attribute name="TypeId" type="mstns:TypeIdGuidType" use="required"/> </xs:complexType> <xs:complexType name="ExpressionMethodExpressionType"> <xs:sequence> <xs:choice> <xs:element name="GT" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="LT" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="EQ" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="NE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="GE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="LE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="AND" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="OR" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="NOT" type="mstns:ExpressionType"/> <xs:element name="ExpressionMethod" type="mstns:ExpressionMethodExpressionType"/> <xs:element name="ExpressionStaticMethod" type="mstns:ExpressionStaticMethodExpressionType"/> <xs:element name="ExpressionProperty" type="mstns:ExpressionPropertyExpressionType"/> <xs:element name="ExpressionStaticProperty" type="mstns:ExpressionStaticPropertyExpressionType"/> <xs:element name="ExpressionParameter" type="mstns:ExpressionParameterExpressionType"/> <xs:element name="ExpressionConvert" type="mstns:ExpressionConvertExpressionType"/> <xs:element name="ExpressionConstant" type="mstns:MethodParameterType"/> </xs:choice> <xs:element name="Parameters" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="GT" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="LT" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="EQ" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="NE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="GE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="LE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="AND" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="OR" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="NOT" type="mstns:ExpressionType"/> <xs:element name="ExpressionMethod" type="mstns:ExpressionMethodExpressionType"/> <xs:element name="ExpressionStaticMethod" type="mstns:ExpressionStaticMethodExpressionType"/> <xs:element name="ExpressionProperty" type="mstns:ExpressionPropertyExpressionType"/> <xs:element name="ExpressionStaticProperty" type="mstns:ExpressionStaticPropertyExpressionType"/> <xs:element name="ExpressionParameter" type="mstns:ExpressionParameterExpressionType"/> <xs:element name="ExpressionConvert" type="mstns:ExpressionConvertExpressionType"/> <xs:element name="ExpressionTypeIs" type="mstns:ExpressionTypeIsExpressionType"/> <xs:element name="ExpressionConstant" type="mstns:MethodParameterType"/> </xs:choice> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="Name" type="mstns:MethodNameType" use="required"/> </xs:complexType> <xs:complexType name="ExpressionStaticMethodExpressionType"> <xs:sequence> <xs:element name="Parameters" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="GT" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="LT" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="EQ" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="NE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="GE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="LE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="AND" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="OR" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="NOT" type="mstns:ExpressionType"/> <xs:element name="ExpressionMethod" type="mstns:ExpressionMethodExpressionType"/> <xs:element name="ExpressionStaticMethod" type="mstns:ExpressionStaticMethodExpressionType"/> <xs:element name="ExpressionProperty" type="mstns:ExpressionPropertyExpressionType"/> <xs:element name="ExpressionStaticProperty" type="mstns:ExpressionStaticPropertyExpressionType"/> <xs:element name="ExpressionParameter" type="mstns:ExpressionParameterExpressionType"/> <xs:element name="ExpressionConvert" type="mstns:ExpressionConvertExpressionType"/> <xs:element name="ExpressionTypeIs" type="mstns:ExpressionTypeIsExpressionType"/> <xs:element name="ExpressionConstant" type="mstns:MethodParameterType"/> </xs:choice> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="Name" type="mstns:StaticMethodNameType" use="required"/> <xs:attribute name="TypeId" type="mstns:TypeIdGuidType" use="required"/> </xs:complexType> <xs:complexType name="ExpressionConvertExpressionType"> <xs:sequence> <xs:choice> <xs:element name="GT" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="LT" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="EQ" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="NE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="GE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="LE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="AND" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="OR" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="NOT" type="mstns:ExpressionType"/> <xs:element name="ExpressionMethod" type="mstns:ExpressionMethodExpressionType"/> <xs:element name="ExpressionStaticMethod" type="mstns:ExpressionStaticMethodExpressionType"/> <xs:element name="ExpressionProperty" type="mstns:ExpressionPropertyExpressionType"/> <xs:element name="ExpressionStaticProperty" type="mstns:ExpressionStaticPropertyExpressionType"/> <xs:element name="ExpressionParameter" type="mstns:ExpressionParameterExpressionType"/> <xs:element name="ExpressionConvert" type="mstns:ExpressionConvertExpressionType"/> <xs:element name="ExpressionTypeIs" type="mstns:ExpressionTypeIsExpressionType"/> <xs:element name="ExpressionConstant" type="mstns:MethodParameterType"/> </xs:choice> </xs:sequence> <xs:attribute name="Type" use="optional"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Boolean"/> <xs:enumeration value="Byte"/> <xs:enumeration value="SByte"/> <xs:enumeration value="Char"/> <xs:enumeration value="Int16"/> <xs:enumeration value="UInt16"/> <xs:enumeration value="Int32"/> <xs:enumeration value="UInt32"/> <xs:enumeration value="Int64"/> <xs:enumeration value="UInt64"/> <xs:enumeration value="DateTime"/> <xs:enumeration value="Single"/> <xs:enumeration value="Double"/> <xs:enumeration value="Decimal"/> <xs:enumeration value="TimeSpan"/> <xs:enumeration value="String"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="TypeId" use="optional" type="mstns:TypeIdGuidType"/> </xs:complexType> <xs:complexType name="ExpressionTypeIsExpressionType"> <xs:sequence> <xs:choice> <xs:element name="GT" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="LT" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="EQ" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="NE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="GE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="LE" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="AND" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="OR" type="mstns:ExpressionLeftRightOperandExpressionType"/> <xs:element name="NOT" type="mstns:ExpressionType"/> <xs:element name="ExpressionMethod" type="mstns:ExpressionMethodExpressionType"/> <xs:element name="ExpressionStaticMethod" type="mstns:ExpressionStaticMethodExpressionType"/> <xs:element name="ExpressionProperty" type="mstns:ExpressionPropertyExpressionType"/> <xs:element name="ExpressionStaticProperty" type="mstns:ExpressionStaticPropertyExpressionType"/> <xs:element name="ExpressionParameter" type="mstns:ExpressionParameterExpressionType"/> <xs:element name="ExpressionConvert" type="mstns:ExpressionConvertExpressionType"/> <xs:element name="ExpressionTypeIs" type="mstns:ExpressionTypeIsExpressionType"/> <xs:element name="ExpressionConstant" type="mstns:MethodParameterType"/> </xs:choice> </xs:sequence> <xs:attribute name="Type" use="optional" type="mstns:TypeFunctionTypeType"/> <xs:attribute name="TypeId" use="optional" type="mstns:TypeIdGuidType"/> </xs:complexType> <xs:complexType name="ExpressionParameterExpressionType"> <xs:attribute name="Name" type="xs:string" use="required"/> </xs:complexType> <xs:group name="ExpressionQueryableExpressionGroup"> <xs:choice> <xs:element name="Take" type="mstns:ExpressionQueryableTakeType"/> <xs:element name="OfType" type="mstns:ExpressionQueryableOfTypeType"/> <xs:element name="Where" type="mstns:ExpressionQueryableWhereType"/> <xs:element name="OrderBy" type="mstns:ExpressionQueryableWhereType"/> <xs:element name="OrderByDescending" type="mstns:ExpressionQueryableWhereType"/> <xs:element name="ThenBy" type="mstns:ExpressionQueryableWhereType"/> <xs:element name="ThenByDescending" type="mstns:ExpressionQueryableWhereType"/> <xs:element name="QueryableObject"> <xs:complexType/> </xs:element> </xs:choice> </xs:group> <xs:complexType name="ExpressionQueryableExpressionType"> <xs:sequence> <xs:choice> <xs:element name="Take" type="mstns:ExpressionQueryableTakeType"/> <xs:element name="OfType" type="mstns:ExpressionQueryableOfTypeType"/> <xs:element name="Where" type="mstns:ExpressionQueryableWhereType"/> <xs:element name="OrderBy" type="mstns:ExpressionQueryableWhereType"/> <xs:element name="OrderByDescending" type="mstns:ExpressionQueryableWhereType"/> <xs:element name="ThenBy" type="mstns:ExpressionQueryableWhereType"/> <xs:element name="ThenByDescending" type="mstns:ExpressionQueryableWhereType"/> <xs:element name="QueryableObject"> <xs:complexType/> </xs:element> </xs:choice> </xs:sequence> </xs:complexType> <xs:complexType name="ExpressionQueryableTakeType"> <xs:sequence> <xs:choice> <xs:element name="Take" type="mstns:ExpressionQueryableTakeType"/> <xs:element name="OfType" type="mstns:ExpressionQueryableOfTypeType"/> <xs:element name="Where" type="mstns:ExpressionQueryableWhereType"/> <xs:element name="OrderBy" type="mstns:ExpressionQueryableWhereType"/> <xs:element name="OrderByDescending" type="mstns:ExpressionQueryableWhereType"/> <xs:element name="ThenBy" type="mstns:ExpressionQueryableWhereType"/> <xs:element name="ThenByDescending" type="mstns:ExpressionQueryableWhereType"/> <xs:element name="QueryableObject"> <xs:complexType/> </xs:element> </xs:choice> </xs:sequence> <xs:attribute name="Count" type="xs:nonNegativeInteger"/> </xs:complexType> <xs:complexType name="ExpressionQueryableOfTypeType"> <xs:sequence> <xs:choice> <xs:element name="Take" type="mstns:ExpressionQueryableTakeType"/> <xs:element name="OfType" type="mstns:ExpressionQueryableOfTypeType"/> <xs:element name="Where" type="mstns:ExpressionQueryableWhereType"/> <xs:element name="OrderBy" type="mstns:ExpressionQueryableWhereType"/> <xs:element name="OrderByDescending" type="mstns:ExpressionQueryableWhereType"/> <xs:element name="ThenBy" type="mstns:ExpressionQueryableWhereType"/> <xs:element name="ThenByDescending" type="mstns:ExpressionQueryableWhereType"/> <xs:element name="QueryableObject"> <xs:complexType/> </xs:element> </xs:choice> </xs:sequence> <xs:attribute name="Type" type="mstns:TypeFunctionTypeType" use="optional"/> <xs:attribute name="TypeId" type="mstns:TypeIdGuidType" use="optional"/> </xs:complexType> <xs:complexType name="ExpressionQueryableWhereType"> <xs:sequence> <xs:element name="Test"> <xs:complexType> <xs:all> <xs:element name="Body" type="mstns:ExpressionType"/> <xs:element name="Parameters"> <xs:complexType> <xs:sequence> <xs:element name="Parameter"> <xs:complexType> <xs:attribute name="Name" type="xs:string"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <xs:element name="Object" type="mstns:ExpressionQueryableExpressionType"/> </xs:sequence> </xs:complexType> <xs:element name="Request" type="mstns:RequestType"/> </xs:schema>