<?xml version="1.0"?>
<!--
/*   Copyright 2004 The Apache Software Foundation
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *  limitations under the License.
 */
-->

<xs:schema
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  elementFormDefault="qualified"
  attributeFormDefault="unqualified">

  <xs:simpleType name="orderTypeCodedType">
    <xs:restriction base="xs:NMTOKEN">
      <xs:enumeration value="newConnect"/>
      <xs:enumeration value="changeService"/>
      <xs:enumeration value="changeOfService"/>
      <xs:enumeration value="disconnectService"/>
      <xs:enumeration value="moveService"/>
      <xs:enumeration value="error"/>
    </xs:restriction>
  </xs:simpleType>

</xs:schema>
