<?xml version="1.0"?>
<xsd:schema xmlns:gml="http://www.opengis.net/gml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:deegreewfs="http://www.deegree.org/wfs" xmlns:ogc="http://www.opengis.net/ogc" xmlns:app="http://www.deegree.org/app" targetNamespace="http://www.deegree.org/app" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xsd:import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/feature.xsd"/>
  <xsd:import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/geometryAggregates.xsd"/>
  <!-- configuration for the persistence backend to be used -->
  <xsd:annotation>
    <xsd:appinfo>
      <deegreewfs:Prefix>app</deegreewfs:Prefix>
      <deegreewfs:Backend>GENERICSQL</deegreewfs:Backend>
      <deegreewfs:DefaultSRS>EPSG:26912</deegreewfs:DefaultSRS>
      <JDBCConnection xmlns="http://www.deegree.org/jdbc">
        <Driver>org.hsqldb.jdbcDriver</Driver>
        <Url>jdbc:hsqldb:${docRoot}../../../data/utah/vector/hsqldb/administration</Url>
        <User>sa</User>
        <Password/>
        <SecurityConstraints/>
        <Encoding>iso-8859-1</Encoding>
      </JDBCConnection>
    </xsd:appinfo>
  </xsd:annotation>
  <!-- ============================================================== -->
  <xsd:element name="ZipCodes" type="app:ZipCodesType" substitutionGroup="gml:_Feature">
    <xsd:annotation>
      <xsd:appinfo>
        <deegreewfs:table>SGID500_ZIPCODES</deegreewfs:table>
        <deegreewfs:gmlId prefix="ZI_">
          <deegreewfs:MappingField field="FEATURE_ID" type="VARCHAR"/>
        </deegreewfs:gmlId>
        <deegreewfs:DefaultSRS>EPSG:26912</deegreewfs:DefaultSRS>
        <deegreewfs:OtherSRS>EPSG:4326</deegreewfs:OtherSRS>
      </xsd:appinfo>
    </xsd:annotation>
  </xsd:element>
  <!-- ============================================================== -->
  <xsd:complexType name="ZipCodesType">
    <xsd:complexContent>
      <xsd:extension base="gml:AbstractFeatureType">
        <xsd:sequence>
          <xsd:element name="feature_id" type="xsd:integer">
            <xsd:annotation>
              <xsd:appinfo>
                <deegreewfs:Content>
                  <deegreewfs:MappingField field="FEATURE_ID" type="INTEGER"/>
                </deegreewfs:Content>
              </xsd:appinfo>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="objectid" type="xsd:integer">
            <xsd:annotation>
              <xsd:appinfo>
                <deegreewfs:Content>
                  <deegreewfs:MappingField field="OBJECTID" type="INTEGER"/>
                </deegreewfs:Content>
              </xsd:appinfo>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="zip" type="xsd:string">
            <xsd:annotation>
              <xsd:appinfo>
                <deegreewfs:Content>
                  <deegreewfs:MappingField field="ZIP" type="VARCHAR"/>
                </deegreewfs:Content>
              </xsd:appinfo>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="po_name" type="xsd:string">
            <xsd:annotation>
              <xsd:appinfo>
                <deegreewfs:Content>
                  <deegreewfs:MappingField field="PO_NAME" type="VARCHAR"/>
                </deegreewfs:Content>
              </xsd:appinfo>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="state" type="xsd:string">
            <xsd:annotation>
              <xsd:appinfo>
                <deegreewfs:Content>
                  <deegreewfs:MappingField field="STATE" type="VARCHAR"/>
                </deegreewfs:Content>
              </xsd:appinfo>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="sumblkpop" type="xsd:float">
            <xsd:annotation>
              <xsd:appinfo>
                <deegreewfs:Content>
                  <deegreewfs:MappingField field="SUMBLKPOP" type="FLOAT"/>
                </deegreewfs:Content>
              </xsd:appinfo>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="pop1999" type="xsd:float">
            <xsd:annotation>
              <xsd:appinfo>
                <deegreewfs:Content>
                  <deegreewfs:MappingField field="POP1999" type="FLOAT"/>
                </deegreewfs:Content>
              </xsd:appinfo>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="shape_area" type="xsd:float">
            <xsd:annotation>
              <xsd:appinfo>
                <deegreewfs:Content>
                  <deegreewfs:MappingField field="SHAPE_AREA" type="FLOAT"/>
                </deegreewfs:Content>
              </xsd:appinfo>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="shape_len" type="xsd:float">
            <xsd:annotation>
              <xsd:appinfo>
                <deegreewfs:Content>
                  <deegreewfs:MappingField field="SHAPE_LEN" type="FLOAT"/>
                </deegreewfs:Content>
              </xsd:appinfo>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="geometry" type="gml:GeometryPropertyType">
            <xsd:annotation>
              <xsd:appinfo>
                <deegreewfs:Content>
                  <deegreewfs:MappingField field="GEOMETRY" type="GEOMETRY" srs="-1"/>
                </deegreewfs:Content>
              </xsd:appinfo>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
</xsd:schema>
