<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://fdo.osgeo.org/schemas/feature/unsupported" xmlns:fdo="http://fdo.osgeo.org/schemas" xmlns:gml="http://www.opengis.net/gml" 
xmlns:unsupported="http://fdo.osgeo.org/schemas/feature/unsupported" 
xmlns:other="http://fdo.osgeo.org/schemas/feature/other" 
xmlns="http://fdo.osgeo.org/schemas/feature/unsupported" elementFormDefault="unqualified" xml:lang="English" blockDefault="restriction" finalDefault="extension" attributeFormDefault="qualified" version="1.0">
    <xs:annotation>
        <xs:documentation xml:lang="French" source="http://www.autodesk.com"/>
        <xs:appinfo source="http://www.autodesk.com">
            <badinfo />
        </xs:appinfo>
    </xs:annotation>
    <xs:include schemaLocation="more_stuff.xsd" />
    <xs:import namespace="gml" schemaLocation="gml.xsd" />
    <xs:import namespace="fdo" schemaLocation="fdo.xsd" />
    <xs:element name="BadElement" type="xs:double">
        <xs:unique name="BadElementAKey">
            <xs:annotation>
                <xs:documentation />
            </xs:annotation>
            <xs:selector xpath=".//BadElement" />
            <xs:field xpath="BadElement">
                <xs:annotation>
                    <xs:documentation />
                </xs:annotation>
            </xs:field>
        </xs:unique>
    </xs:element>
    <xs:element name="BadElement2" ref="BadElement" />
    <xs:element name="CrossSchema" type="other:CrossSchemaType" />
    <xs:simpleType name="badSimpleType">
        <xs:restriction base="xs:string" />
    </xs:simpleType>
    <xs:group name="badgroup">
        <xs:sequence>
            <xs:element name="e1" type="xs:int" />
            <xs:element name="e2" type="xs:string" />
        </xs:sequence>
    </xs:group>
    <xs:attributeGroup name="badAttGroup">
        <xs:attribute name="att1" type="xs:string" />
        <xs:attribute name="att2" type="xs:int" />
    </xs:attributeGroup>
    <xs:attribute name="badGblAtt" type="xs:string" />
    <xs:redefine schemaLocation="badlocation.xsd" />
    <xs:notation name="badnotation" public="yes" system="yes" />
    <xs:complexType id="1" name="BadWithSimpleContent" abstract="false" block="restriction" final="extension" mixed="true">
        <xs:annotation>
            <xs:documentation />
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="badAtt" type="xs:int" />
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="BadWithGroup">
        <xs:group ref="badGroup" />
        <xs:attribute name="badAtt" type="xs:int" />
        <xs:attributeGroup ref="badAttGroup" />
        <xs:anyAttribute namespace="fdo" />
    </xs:complexType>
    <xs:complexType name="BadWithAll">
        <xs:all>
            <xs:element name="e1" type="xs:int" />
            <xs:element name="e2" type="xs:string" />
        </xs:all>
    </xs:complexType>
    <xs:complexType name="BadWithChoice">
        <xs:choice>
            <xs:element name="e1" type="xs:int" />
            <xs:element name="e2" type="xs:string" />
        </xs:choice>
    </xs:complexType>
    <xs:element name="ReferenceClass" type="unsupported:ReferenceClass" abstract="true" substitutionGroup="gml:_Feature" block="#all" default="yes" final="extension" fixed="yes" form="qualified" id="2" nillable="true">
        <xs:key name="ReferenceClassKey">
            <xs:annotation>
                <xs:documentation />
            </xs:annotation>
            <xs:selector xpath=".//ReferenceClass" />
            <xs:field xpath="BadElement">
                <xs:annotation>
                    <xs:documentation />
                </xs:annotation>
            </xs:field>
        </xs:key>
    </xs:element>
    <xs:complexType name="ReferenceClass" abstract="false">
        <xs:annotation>
            <xs:documentation />
        </xs:annotation>
        <xs:sequence>
            <xs:element ref="BadElement" />
            <xs:element name="Prop2">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Prop3" type="xs:string" />
                        <xs:element ref="BadElement" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element ref="gml:_Geometry"/>
            <xs:element name="Prop6" ref="gml:Point" />
            <xs:element name="BadCount" type="unsupported:ReferenceClass" maxOccurs="5"/>
	    <xs:element name="DataProp">
                <xs:simpleType final="true">
                    <xs:annotation>
                        <xs:documentation />
                    </xs:annotation>
                    <xs:union/>
                    <xs:list/>
		    <xs:restriction base="xs:decimal">
                        <xs:annotation>
                            <xs:documentation />
                        </xs:annotation>
			<xs:minInclusive value="5"/>
			<xs:fractionDigits value="3"/>
			<xs:totalDigits value="3"/>
			<xs:pattern value="99.9"/>
			<xs:maxLength value="8"/>
                    </xs:restriction> 
                </xs:simpleType>
            </xs:element>
	    <xs:element name="stringProp">
                <xs:simpleType>
		    <xs:restriction base="xs:string">
			<xs:minInclusive value="5"/>
			<xs:fractionDigits value="3"/>
			<xs:totalDigits value="3"/>
			<xs:maxLength value="8"/>
                    </xs:restriction> 
                </xs:simpleType>
            </xs:element>
	    <xs:element name="otherProp">
                <xs:simpleType>
		    <xs:restriction base="xs:double">
			<xs:minInclusive value="5"/>
			<xs:fractionDigits value="3"/>
			<xs:totalDigits value="3"/>
			<xs:maxLength value="8"/>
                    </xs:restriction> 
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="BadSubClass" abstract="false">
        <xs:complexContent mixed="true">
            <xs:annotation>
                <xs:documentation>Bad documentation</xs:documentation>
            </xs:annotation>
            <xs:extension base="unsupported:ReferenceClass">
                <xs:annotation>
                    <xs:documentation>Bad documentation</xs:documentation>
                </xs:annotation>
                <xs:sequence>
                    <xs:element name="assoc_prop">
                        <xs:keyref name="assoc_prop" refer="unsupported:ReferenceClassKey">
                            <xs:annotation>
                                <xs:documentation/>
                            </xs:annotation>
                            <xs:selector xpath=".//BadSubClass">
                                <xs:annotation>
                                    <xs:documentation/>
                                </xs:annotation>
                                <xs:field xpath="BadElement">
                                    <xs:annotation>
                                       <xs:documentation/>
                                    </xs:annotation>
                                </xs:field>
                            </xs:selector>
                        </xs:keyref>
                    </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="BadSubClassWithGroup" abstract="false">
        <xs:complexContent >
            <xs:extension base="unsupported:ReferenceClass">
  	        <xs:group ref="badGroup" />
                <xs:attribute name="badAtt" type="xs:int" />
                <xs:attributeGroup ref="badAttGroup" />
                <xs:anyAttribute namespace="fdo" />
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="BadSubClassWithAll" abstract="false">
        <xs:complexContent >
            <xs:extension base="unsupported:ReferenceClass">
                <xs:all>
                    <xs:element name="e1" type="xs:int" />
                    <xs:element name="e2" type="xs:string" />
                </xs:all>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="BadSubClassWithChoice" abstract="false">
        <xs:complexContent >
            <xs:extension base="unsupported:ReferenceClass">
                <xs:choice>
                    <xs:element name="e1" type="xs:int" />
                    <xs:element name="e2" type="xs:string" />
                </xs:choice>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Type" abstract="false"/>
</xs:schema>