<?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="orderTypeCodedTypeNew">
    <xs:restriction base="orderTypeCodedType">
      <xs:enumeration value="newConnect"/>
      <xs:enumeration value="changeService"/>
      <xs:enumeration value="changeOfService"/>
      <xs:enumeration value="disconnectService"/>
    </xs:restriction>
  </xs:simpleType>

</xs:schema>
