<?xml version="1.0" encoding="UTF-8"?>
<xs:schema 
    targetNamespace="http://ogr.maptools.org/"
    xmlns:ogr="http://ogr.maptools.org/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:gml="http://fake_gml32" 
    elementFormDefault="qualified"
    version="1.0">
<!--
<xs:import namespace="http://www.opengis.net/gml/3.2" schemaLocation="http://schemas.opengis.net/gml/3.2.1/gml.xsd"/>
-->
<xs:import namespace="http://fake_gml32" schemaLocation="gmlas_fake_gml32.xsd"/>

<xs:element name="FeatureCollection" type="ogr:FeatureCollectionType" substitutionGroup="gml:AbstractGML"/>
<xs:complexType name="FeatureCollectionType">
  <xs:complexContent>
    <xs:extension base="gml:AbstractFeatureType">
      <xs:sequence minOccurs="0" maxOccurs="unbounded">
        <xs:element name="featureMember">
          <xs:complexType>
            <xs:complexContent>
              <xs:extension base="gml:AbstractFeatureMemberType">
                <xs:sequence>
                  <xs:element ref="gml:AbstractFeature"/>
                </xs:sequence>
              </xs:extension>
            </xs:complexContent>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
<xs:element name="test" type="ogr:test_Type" substitutionGroup="gml:AbstractFeature"/>
<xs:complexType name="test_Type">
  <xs:complexContent>
    <xs:extension base="gml:AbstractFeatureType">
      <xs:sequence>
        <xs:element name="geometryProperty" type="gml:GeometryPropertyType" nillable="true" minOccurs="0" maxOccurs="1"/>
        <xs:element name="geometryPropertyEmpty" type="gml:GeometryPropertyType" nillable="true" minOccurs="0" maxOccurs="1"/>
        <xs:element name="pointProperty" type="gml:PointPropertyType" nillable="true" minOccurs="0" maxOccurs="1"/>
        <xs:element name="lineStringProperty" type="gml:LineStringPropertyType" nillable="true" minOccurs="0" maxOccurs="1"/>
        <xs:element name="polygonProperty" type="gml:PolygonPropertyType" nillable="true" minOccurs="0" maxOccurs="1"/>
        <xs:element name="multiPointProperty" type="gml:MultiPointPropertyType" nillable="true" minOccurs="0" maxOccurs="1"/>
        <xs:element name="multiLineStringProperty" type="gml:MultiLineStringPropertyType" nillable="true" minOccurs="0" maxOccurs="1"/>
        <xs:element name="multiPolygonProperty" type="gml:MultiPolygonPropertyType" nillable="true" minOccurs="0" maxOccurs="1"/>
        <xs:element name="multiGeometryProperty" type="gml:MultiGeometryPropertyType" nillable="true" minOccurs="0" maxOccurs="1"/>
        <xs:element name="multiCurveProperty" type="gml:MultiCurvePropertyType" nillable="true" minOccurs="0" maxOccurs="1"/>
        <xs:element name="multiSurfaceProperty" type="gml:MultiSurfacePropertyType" nillable="true" minOccurs="0" maxOccurs="1"/>
        <xs:element name="curveProperty" type="gml:CurvePropertyType" nillable="true" minOccurs="0" maxOccurs="1"/>
        <xs:element name="surfaceProperty" type="gml:SurfacePropertyType" nillable="true" minOccurs="0" maxOccurs="1"/>
        <xs:element name="pointPropertyRepeated" type="gml:PointPropertyType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="myCustomPointProperty" nillable="true" minOccurs="0" maxOccurs="1">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="gml:Point"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
</xs:schema>
