﻿<xs:schema xmlns="http://nemus.skogsstyrelsen.se/scheman/dikesrensning/1" 
           elementFormDefault="qualified" 
           targetNamespace="http://nemus.skogsstyrelsen.se/scheman/dikesrensning/1" 
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:dt="http://nemus.skogsstyrelsen.se/scheman/dataTypes/1">

  <xs:import namespace="http://nemus.skogsstyrelsen.se/scheman/dataTypes/1" schemaLocation="dataTypes_1.xsd" />
  <xs:annotation>
    <xs:documentation>Dikesrensning</xs:documentation>
  </xs:annotation>
  <xs:element name="dikesrensning">
    <xs:annotation>
      <xs:documentation>Rotelementet för dikesrensning</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="geodata" type="geodataType" />
        <xs:element name="uppgifter" type="uppgifterType" />
        <xs:element minOccurs="0" name="bilagor" type="bilagorType" />
      </xs:sequence>
      <xs:attribute name="typ" use="required">
        <xs:simpleType>
          <xs:annotation>
            <xs:documentation>Typ av ansökan om dikesrensning</xs:documentation>
          </xs:annotation>
          <xs:restriction base="xs:string">
            <xs:enumeration value="samråd" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="geodataType">
    <xs:annotation>
      <xs:documentation>Geodata</xs:documentation>
    </xs:annotation>
    <xs:choice>
      <xs:sequence>
        <xs:element name="dike" type="dikeType" maxOccurs="unbounded" />
        <xs:element name="annanVattensamling" type="annanVattensamlingType" maxOccurs="unbounded" minOccurs="0" />
        <xs:element name="massor" type="massorType" maxOccurs="unbounded" minOccurs="0" />
        <xs:element name="skadeforebyggandeAtgarder" type="skadeforebyggandeAtgarderType" maxOccurs="unbounded" minOccurs="0" />
        <xs:element name="kompensationsatgarder" type="kompensationsatgarderType" maxOccurs="unbounded" minOccurs="0" />
      </xs:sequence>
      <xs:sequence>
        <xs:element name="annanVattensamling" type="annanVattensamlingType" maxOccurs="unbounded" />
        <xs:element name="massor" type="massorType" maxOccurs="unbounded" minOccurs="0" />
        <xs:element name="skadeforebyggandeAtgarder" type="skadeforebyggandeAtgarderType" maxOccurs="unbounded" minOccurs="0" />
        <xs:element name="kompensationsatgarder" type="kompensationsatgarderType" maxOccurs="unbounded" minOccurs="0" />
      </xs:sequence>
      <xs:sequence>
        <xs:element name="massor" type="massorType" maxOccurs="unbounded" />
        <xs:element name="skadeforebyggandeAtgarder" type="skadeforebyggandeAtgarderType" maxOccurs="unbounded" minOccurs="0" />
        <xs:element name="kompensationsatgarder" type="kompensationsatgarderType" maxOccurs="unbounded" minOccurs="0" />
      </xs:sequence>
      <xs:sequence>
        <xs:element name="skadeforebyggandeAtgarder" type="skadeforebyggandeAtgarderType" maxOccurs="unbounded"/>
        <xs:element name="kompensationsatgarder" type="kompensationsatgarderType" maxOccurs="unbounded" minOccurs="0" />
      </xs:sequence>
      <xs:sequence>
        <xs:element name="kompensationsatgarder" type="kompensationsatgarderType" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:choice>
  </xs:complexType>
  
  <xs:complexType name="uppgifterType">
    <xs:annotation>
      <xs:documentation>Uppgifter för dikesrensning</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="fastighetsbeteckning" type="xs:string">
        <xs:annotation>
          <xs:documentation>Fastighetsbeteckning: Fastighetsnamn Block:Enhet</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="externId" type="xs:string" />
      <xs:element name="personer" type="personerType" />
      <xs:element name="beskrivning" type="xs:string" />
      <xs:element minOccurs="0" name="berordaEnskildaIntressen" type="berordaEnskildaIntressenType" />
      <xs:element name="finnsGamlaTillstand" type="xs:boolean" />
      <xs:element name="ejHeltIgenvaxt" type="xs:boolean" />
      <xs:element minOccurs="0" name="miljohansynUtmedVattendraget" type="xs:boolean" />
      <xs:element name="tidUtforande" type="xs:string" />
      <xs:element minOccurs="0" name="naturKulturMiljovarden" type="xs:string" />
      <xs:element minOccurs="0" name="fiskBestand" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="berordaEnskildaIntressenType">
    <xs:annotation>
      <xs:documentation>Berörda kan vara nyttjanderättshavare, innehavare av servitut, grannfastigheter som kan påverkas av ändrade vattenflöden, markavvattningsföretag, vägsamfälligheter eller fiskevårdsföreningar.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:choice minOccurs="1" maxOccurs="unbounded">
        <xs:element minOccurs="0" name="beskrivning" type="xs:string" />
        <xs:element minOccurs="0" name="informerade" type="xs:boolean" />
        <xs:element minOccurs="0" name="begarErsattningInlosenTvangsratt" type="xs:boolean" />
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="value" type="xs:boolean" />
  </xs:complexType>
  <xs:complexType name="dikeType">
    <xs:annotation>
      <xs:documentation>Dike</xs:documentation>
    </xs:annotation>
    <xs:complexContent mixed="false">
      <xs:extension base="geografisktObjektType">
        <xs:sequence>
          <xs:element name="attribut">
            <xs:complexType>
              <xs:sequence>
                <xs:element minOccurs="0" maxOccurs="1" name="djupForeRensning" type="xs:decimal" />
                <xs:element minOccurs="0" maxOccurs="1" name="djupEfterRensning" type="xs:decimal" />
                <xs:element minOccurs="0" maxOccurs="1" name="volym" type="xs:decimal" />
                <xs:element minOccurs="0" maxOccurs="1" name="breddVidVattenytan" type="xs:decimal" />
                <xs:element minOccurs="0" maxOccurs="1" name="langd" type="xs:decimal" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="annanVattensamlingType">
    <xs:annotation>
      <xs:documentation>Annan vattensamling</xs:documentation>
    </xs:annotation>
    <xs:complexContent mixed="false">
      <xs:extension base="geografisktObjektType">
        <xs:sequence>
          <xs:element name="attribut">
            <xs:complexType>
              <xs:sequence>
                <xs:element minOccurs="0" maxOccurs="1" name="djupForeRensning" type="xs:decimal" />
                <xs:element minOccurs="0" maxOccurs="1" name="djupEfterRensning" type="xs:decimal" />
                <xs:element minOccurs="0" maxOccurs="1" name="volym" type="xs:decimal" />
                <xs:element minOccurs="0" maxOccurs="1" name="yta" type="xs:integer" />
                <xs:element name="typ" type="vattensamlingsType" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="massorType">
    <xs:annotation>
      <xs:documentation>Placering av massor</xs:documentation>
    </xs:annotation>
    <xs:complexContent mixed="false">
      <xs:extension base="geografisktObjektType">
        <xs:sequence>
          <xs:element name="attribut">
            <xs:complexType>
              <xs:sequence>
                <xs:element minOccurs="0" maxOccurs="1" name="beskrivning" type="xs:string" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="skadeforebyggandeAtgarderType">
    <xs:annotation>
      <xs:documentation>Skadeförebyggande åtgärder</xs:documentation>
    </xs:annotation>
    <xs:complexContent mixed="false">
      <xs:extension base="geografisktObjektType">
        <xs:sequence>
          <xs:element name="attribut">
            <xs:complexType>
              <xs:sequence>
                <xs:element minOccurs="0" maxOccurs="1" name="beskrivning" type="xs:string" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="kompensationsatgarderType">
    <xs:annotation>
      <xs:documentation>Kompensationsåtgärder</xs:documentation>
    </xs:annotation>
    <xs:complexContent mixed="false">
      <xs:extension base="geografisktObjektType">
        <xs:sequence>
          <xs:element name="attribut">
            <xs:complexType>
              <xs:sequence>
                <xs:element minOccurs="0" maxOccurs="1" name="beskrivning" type="xs:string" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="vattensamlingsType">
    <xs:annotation>
      <xs:documentation>Typ av vattensamling</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="annan" />
      <xs:enumeration value="sjö" />
      <xs:enumeration value="damm" />
      <xs:enumeration value="sedimentbassäng" />
      <xs:enumeration value="slamgrop" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="personerType">
    <xs:annotation>
      <xs:documentation>Personer</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="2" name="person" type="dt:personType" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="bilagorType">
    <xs:annotation>
      <xs:documentation>Bilagor</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="bilaga" type="bilagaType" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="bilagaType">
    <xs:annotation>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="data" type="xs:base64Binary" />
      <xs:element minOccurs="0" name="beskrivning" type="xs:string" />
      <xs:element name="typ">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="foto" />
            <xs:enumeration value="övrig" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="filformat">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="pdf" />
            <xs:enumeration value="jpg" />
            <xs:enumeration value="jpeg" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="geografisktObjektType" abstract="true">
    <xs:annotation>
      <xs:documentation>Objekt som representerar en företeelse vars läge i förhållande till jordens yta är av speciellt intresse.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="geometri" type="wktType" />
    </xs:sequence>
    <xs:attribute name="objektId" type="xs:int" />
  </xs:complexType>
  <xs:simpleType name="wktType">
    <xs:annotation>
      <xs:documentation>Beskrivning av läge, form och storlek (inom GIS) m h a WKT-strängar.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="collapse" />
      <xs:minLength value="1" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>