#ifndef feature3_H
#define feature3_H

 //
 // Copyright (C) 2004-2010  Autodesk, Inc.
 // 
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of version 2.1 of the GNU Lesser
 // General Public License as published by the Free Software Foundation.
 // 
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 // Lesser General Public License for more details.
 // 
 // You should have received a copy of the GNU Lesser General Public
 // License along with this library; if not, write to the Free Software
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

static const char* feature3[] = {
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>",
"<schema targetNamespace=\"http://www.opengis.net/gml\" xmlns=\"http://www.w3.org/2001/XMLSchema\" xmlns:sch=\"http://www.ascc.net/xml/schematron\" xmlns:gml=\"http://www.opengis.net/gml\" elementFormDefault=\"qualified\" version=\"3.1.1\">",
"	<annotation>",
"		<appinfo source=\"urn:opengis:specification:gml:schema-xsd:feature:v3.1.1\"/>",
"		<documentation>GML Feature schema. 		      ",
"    Copyright (c) 2001-2005 OGC, All Rights Reserved.",
"	For conditions, see OGC Software Notice http://www.opengeospatial.org/about/?page=ipr</documentation>",
"	</annotation>",
"	<!-- ============================================================== -->",
"	<!-- ==================        includes and imports  ======================= -->",
"	<!-- ============================================================== -->",
"	<include schemaLocation=\"geometryBasic2d.xsd\"/>",
"	<include schemaLocation=\"temporal.xsd\"/>",
"	<!-- ============================================================== -->",
"	<element name=\"_Feature\" type=\"gml:AbstractFeatureType\" abstract=\"true\" substitutionGroup=\"gml:_GML\"/>",
"	<!-- =========================================================== -->",
"	<complexType name=\"AbstractFeatureType\" abstract=\"true\">",
"		<annotation>",
"			<documentation>An abstract feature provides a set of common properties, including id, metaDataProperty, name and description inherited from AbstractGMLType, plus boundedBy.    A concrete feature type must derive from this type and specify additional  properties in an application schema. A feature must possess an identifying attribute ('id' - 'fid' has been deprecated).</documentation>",
"		</annotation>",
"		<complexContent>",
"			<extension base=\"gml:AbstractGMLType\">",
"				<sequence>",
"					<element ref=\"gml:boundedBy\" minOccurs=\"0\"/>",
"					<element ref=\"gml:location\" minOccurs=\"0\">",
"						<annotation>",
"							<appinfo>deprecated</appinfo>",
"							<documentation>deprecated in GML version 3.1</documentation>",
"						</annotation>",
"					</element>",
"					<!-- additional properties must be specified in an application schema -->",
"				</sequence>",
"			</extension>",
"		</complexContent>",
"	</complexType>",
"	<!-- ============================================================== -->",
"	<!-- =========================================================== -->",
"	<element name=\"boundedBy\" type=\"gml:BoundingShapeType\"/>",
"	<!-- ====================================================================== -->",
"	<complexType name=\"BoundingShapeType\">",
"		<annotation>",
"			<documentation>Bounding shape.</documentation>",
"		</annotation>",
"		<sequence>",
"			<choice>",
"				<element ref=\"gml:Envelope\"/>",
"				<element ref=\"gml:Null\"/>",
"			</choice>",
"		</sequence>",
"	</complexType>",
"	<!-- =========================================================== -->",
"	<element name=\"EnvelopeWithTimePeriod\" type=\"gml:EnvelopeWithTimePeriodType\" substitutionGroup=\"gml:Envelope\"/>",
"	<!-- ====================================================================== -->",
"	<complexType name=\"EnvelopeWithTimePeriodType\">",
"		<annotation>",
"			<documentation>Envelope that includes also a temporal extent.</documentation>",
"		</annotation>",
"		<complexContent>",
"			<extension base=\"gml:EnvelopeType\">",
"				<sequence>",
"					<element ref=\"gml:timePosition\" minOccurs=\"2\" maxOccurs=\"2\"/>",
"				</sequence>",
"				<attribute name=\"frame\" type=\"anyURI\" use=\"optional\" default=\"#ISO-8601\"/>",
"			</extension>",
"		</complexContent>",
"	</complexType>",
"	<!-- ====================================================================== -->",
"	<!-- ===== property for feature association ==== -->",
"	<element name=\"featureMember\" type=\"gml:FeaturePropertyType\"/>",
"	<element name=\"featureProperty\" type=\"gml:FeaturePropertyType\"/>",
"	<!-- ============================================================== -->",
"	<complexType name=\"FeaturePropertyType\">",
"		<annotation>",
"			<documentation>Container for a feature - follow gml:AssociationType pattern.</documentation>",
"		</annotation>",
"		<sequence minOccurs=\"0\">",
"			<element ref=\"gml:_Feature\"/>",
"		</sequence>",
"		<attributeGroup ref=\"gml:AssociationAttributeGroup\"/>",
"	</complexType>",
"	<!-- ============================================================== -->",
"	<!-- ===== property for association of an array of features ===== -->",
"	<element name=\"featureMembers\" type=\"gml:FeatureArrayPropertyType\"/>",
"	<!-- =========================================================== -->",
"	<complexType name=\"FeatureArrayPropertyType\">",
"		<annotation>",
"			<documentation>Container for features - follow gml:ArrayAssociationType pattern.</documentation>",
"		</annotation>",
"		<sequence>",
"			<element ref=\"gml:_Feature\" minOccurs=\"0\" maxOccurs=\"unbounded\"/>",
"		</sequence>",
"	</complexType>",
"	<!-- ============================================================== -->",
"	<!-- =========================================================== -->",
"	<element name=\"_FeatureCollection\" type=\"gml:AbstractFeatureCollectionType\" abstract=\"true\" substitutionGroup=\"gml:_Feature\"/>",
"	<!-- ===========================================================   -->",
"	<complexType name=\"AbstractFeatureCollectionType\" abstract=\"true\">",
"		<annotation>",
"			<documentation>A feature collection contains zero or more features.</documentation>",
"		</annotation>",
"		<complexContent>",
"			<extension base=\"gml:AbstractFeatureType\">",
"				<sequence>",
"					<element ref=\"gml:featureMember\" minOccurs=\"0\" maxOccurs=\"unbounded\"/>",
"					<element ref=\"gml:featureMembers\" minOccurs=\"0\"/>",
"				</sequence>",
"			</extension>",
"		</complexContent>",
"	</complexType>",
"	<!-- =========================================================== -->",
"	<element name=\"FeatureCollection\" type=\"gml:FeatureCollectionType\" substitutionGroup=\"gml:_Feature\"/>",
"	<!-- =========================================================== -->",
"	<complexType name=\"FeatureCollectionType\">",
"		<annotation>",
"			<documentation>Concrete generic feature collection.</documentation>",
"		</annotation>",
"		<complexContent>",
"			<extension base=\"gml:AbstractFeatureCollectionType\"/>",
"		</complexContent>",
"	</complexType>",
"	<!-- ============================================================== -->",
"	<!-- ============================================================== -->",
"	<element name=\"LocationKeyWord\" type=\"gml:CodeType\"/>",
"	<element name=\"LocationString\" type=\"gml:StringOrRefType\"/>",
"	<!-- =========================================================== -->",
"	<!-- ============= common aliases for geometry properties =============== -->",
"	<element name=\"centerOf\" type=\"gml:PointPropertyType\"/>",
"	<element name=\"position\" type=\"gml:PointPropertyType\"/>",
"	<element name=\"edgeOf\" type=\"gml:CurvePropertyType\"/>",
"	<element name=\"centerLineOf\" type=\"gml:CurvePropertyType\"/>",
"	<element name=\"extentOf\" type=\"gml:SurfacePropertyType\"/>",
"	<!-- =========================================================== -->",
"	<!-- ================= deprecated components  =========================== -->",
"	<complexType name=\"BoundedFeatureType\" abstract=\"true\">",
"		<annotation>",
"			<documentation>Makes boundedBy mandatory</documentation>",
"		</annotation>",
"		<complexContent>",
"			<restriction base=\"gml:AbstractFeatureType\">",
"				<sequence>",
"					<group ref=\"gml:StandardObjectProperties\"/>",
"					<element ref=\"gml:boundedBy\"/>",
"					<element ref=\"gml:location\" minOccurs=\"0\">",
"						<annotation>",
"							<appinfo>deprecated</appinfo>",
"							<documentation>deprecated in GML version 3.1</documentation>",
"						</annotation>",
"					</element>",
"				</sequence>",
"			</restriction>",
"		</complexContent>",
"	</complexType>",
"	<!-- =========================================================== -->",
"	<element name=\"location\" type=\"gml:LocationPropertyType\">",
"		<annotation>",
"			<documentation>Deprecated in GML 3.1.0</documentation>",
"		</annotation>",
"	</element>",
"	<!-- ============================================================== -->",
"	<complexType name=\"LocationPropertyType\">",
"		<annotation>",
"			<documentation>Convenience property for generalised location.  ",
"      A representative location for plotting or analysis.  ",
"      Often augmented by one or more additional geometry properties with more specific semantics.</documentation>",
"			<documentation>Deprecated in GML 3.1.0</documentation>",
"		</annotation>",
"		<sequence minOccurs=\"0\">",
"			<choice>",
"				<element ref=\"gml:_Geometry\"/>",
"				<element ref=\"gml:LocationKeyWord\"/>",
"				<element ref=\"gml:LocationString\"/>",
"				<element ref=\"gml:Null\"/>",
"			</choice>",
"		</sequence>",
"		<attributeGroup ref=\"gml:AssociationAttributeGroup\"/>",
"	</complexType>",
"	<!-- ============================================================== -->",
"	<element name=\"priorityLocation\" type=\"gml:PriorityLocationPropertyType\" substitutionGroup=\"gml:location\">",
"		<annotation>",
"			<documentation>Deprecated in GML 3.1.0</documentation>",
"		</annotation>",
"	</element>",
"	<!-- ============================================================== -->",
"	<complexType name=\"PriorityLocationPropertyType\">",
"		<annotation>",
"			<documentation>G-XML component</documentation>",
"			<documentation>Deprecated in GML 3.1.0</documentation>",
"		</annotation>",
"		<complexContent>",
"			<extension base=\"gml:LocationPropertyType\">",
"				<attribute name=\"priority\" type=\"string\" use=\"optional\"/>",
"			</extension>",
"		</complexContent>",
"	</complexType>",
"	<!-- ============================================================== -->",
"</schema>",
NULL
};

#endif
