<?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.
 */
-->

<xsd:schema
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.example.com/IPO"
    xmlns="http://www.example.com/IPO"
    xmlns:ipo="http://www.example.com/IPO"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified">

    <xsd:redefine schemaLocation="union_initial.xsd">
        <xsd:simpleType name="orderTypeCodedType">
            <xsd:restriction base="orderTypeCodedType">
                <xsd:enumeration value="newConnect"/>
            </xsd:restriction>
        </xsd:simpleType>
    </xsd:redefine>

</xsd:schema>
