<?xml version="1.0" encoding="UTF-8"?>
<!-- XML Schema Definition for data types to be used in Multiple Object Operation(MOO) Service specified in this Recommendation.
   Filename : q818_MOOService.xsd -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:x782="http://www.itu.int/xml-namespace/itu-t/x.782" xmlns:moas="http://www.itu.int/xml-namespace/itu-t/x.782/MOAccessService"  xmlns:moos="http://www.itu.int/xml-namespace/itu-t/q.818/MultipleObjectOperationService" targetNamespace="http://www.itu.int/xml-namespace/itu-t/q.818/MultipleObjectOperationService" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
   <xsd:import namespace="http://www.itu.int/xml-namespace/itu-t/x.782" schemaLocation="x782.xsd"/>
   <xsd:import namespace="http://www.itu.int/xml-namespace/itu-t/x.782/MOAccessService" schemaLocation="x782_MOAccessService.xsd"/>
   <xsd:simpleType name="ScopeEnumType">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BasicObjectOnly"/>
         <xsd:enumeration value="WholeSubtree"/>
         <xsd:enumeration value="IndividualLevel"/>
         <xsd:enumeration value="BaseToLevel"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ScopeType">
      <xsd:sequence>
         <xsd:element name="scopeInd" type="moos:ScopeEnumType"/>
         <xsd:element name="level" type="xsd:short" minOccurs="0"/>
      </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="GetResultsType">
      <xsd:sequence>
         <xsd:element name="name" type="x782:NameType"/>
         <xsd:element name="attributes" type="x782:AttributeNameAndValueSetType"/>
         <xsd:element name="failedAttributes" type="x782:StringSetType"/>
      </xsd:sequence>
   </xsd:complexType>

   <xsd:complexType name="UpdateResultsType">
      <xsd:sequence>
         <xsd:element name="name" type="x782:NameType" minOccurs="1" maxOccurs="unbounded"/>
         <xsd:element name="failedAttributes" type="x782:StringSetType" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="DeleteResultsType">
      <xsd:sequence>
         <xsd:element name="name" type="x782:NameType" minOccurs="1" maxOccurs="unbounded"/>
         <xsd:element name="notDeletable" type="xsd:boolean" minOccurs="0" maxOccurs="1"/>
      </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="ScopedGetRequestType">
      <xsd:sequence>
         <xsd:element name="baseName" type="x782:NameType"/>
         <xsd:element name="scope" type="moos:ScopeType"/>
         <xsd:element name="moClassList" type="x782:MOClassListType" minOccurs="0" maxOccurs="1"/>
         <xsd:element name="attributes" type="x782:StringSetType"/>
      </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="ScopedGetResponseType">
      <xsd:sequence>
         <xsd:element name="moInfo" type="moos:GetResultsType" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="ScopedUpdateRequestType">
      <xsd:sequence>
         <xsd:element name="baseName" type="x782:NameType"/>
         <xsd:element name="scope" type="moos:ScopeType"/>
         <xsd:element name="moClassList" type="x782:MOClassListType" minOccurs="0" maxOccurs="1"/>
         <xsd:element name="modifications" type="moas:AttributeNVMListType"/>
         <xsd:element name="failuresOnly" type="xsd:boolean"/>
      </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="ScopedUpdateResponseType">
      <xsd:sequence>
         <xsd:element name="updateResult" type="moos:UpdateResultsType" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="ScopedDeleteRequestType">
      <xsd:sequence>
         <xsd:element name="baseName" type="x782:NameType"/>
         <xsd:element name="scope" type="moos:ScopeType"/>
         <xsd:element name="moClassList" type="x782:MOClassListType" minOccurs="0" maxOccurs="1"/>
         <xsd:element name="failuresOnly" type="xsd:boolean"/>
      </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="ScopedDeleteResponseType">
      <xsd:sequence>
         <xsd:element name="deleteResult" type="moos:DeleteResultsType" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
   </xsd:complexType>
</xsd:schema>