﻿<xs:schema targetNamespace="http://nemus.skogsstyrelsen.se/scheman/utgaendeDokument/3" 
		   elementFormDefault="qualified" xmlns="http://nemus.skogsstyrelsen.se/scheman/utgaendeDokument/3"
		   xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:dt="http://nemus.skogsstyrelsen.se/scheman/dataTypes/2">
	<xs:complexType name="arendetyp">
		<xs:sequence>
			<xs:element name="arendeId" minOccurs="0" type="xs:string"/>
			<xs:element name="version" type="xs:int"/>
		</xs:sequence>
	</xs:complexType>
	<xs:group name="dokumentGroup">
		<xs:sequence>
			<xs:element name="dokument">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="avsandare" type="xs:string"/>
						<xs:element name="data" type="xs:base64Binary"/>
						<xs:element name="datatyp">
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:enumeration value="PDF"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
						<xs:element name="dokumenttyp">
							<xs:simpleType>
								<xs:annotation>
									<xs:documentation>
										Dokumenttyper
									</xs:documentation>
								</xs:annotation>
								<xs:restriction base="xs:string">
									<xs:enumeration value="anmalanAnsokan"/>
									<xs:enumeration value="begaranOmUppgifter"/>
									<xs:enumeration value="beslut"/>
									<xs:enumeration value="information"/>
									<xs:enumeration value="ovrigaDokument"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
						<xs:element name="filnamn" type="xs:string"/>
						<xs:element name="transaktionsId" type="xs:string"/>
						<xs:element name="geometrier" minOccurs="0">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="geometri" maxOccurs="unbounded">
										<xs:complexType>
											<xs:sequence>
												<xs:element name="typ">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:enumeration value="ForelaggandeForbud"/>
															<xs:enumeration value="Avslag"/>
															<xs:enumeration value="AvslagMedIntrangsersattning"/>
															<xs:enumeration value="AvslagAnnat"/>
															<xs:enumeration value="Tillstand"/>
															<xs:enumeration value="Annat"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:element>
												<xs:element name="wkt" type="wktType"/>
											</xs:sequence>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:group>
	<xs:element name="utgaendeDokument">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="arende" type="arendetyp"/>
				<xs:group ref="dokumentGroup"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<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:documentation>Endast POLYGON, MULTIPOlYGON, POINT, MULTIPOINT, LINESTRING eller MULTILINESTRING är tillåtet.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:token">
			<xs:pattern value="[Pp][Oo][Ll][Yy][Gg][Oo][Nn] ?\( ?\( ?(\d+(\.\d+)? +\d+(\.\d+)?) ?(, ?\d+(\.\d+)? +\d+(\.\d+)? ?)+ ?\) ?(, ?\( ?(\d+(\.\d+)? +\d+(\.\d+)?) ?(, ?\d+(\.\d+)? +\d+(\.\d+)? ?)+\) ?)* ?\)|[Mm][Uu][Ll][Tt][Ii][Pp][Oo][Ll][Yy][Gg][Oo][Nn] ?\( ?(\( ?\( ?(\d+(\.\d+)? +\d+(\.\d+)?) ?(, ?\d+(\.\d+)? +\d+(\.\d+)? ?)+ ?\) ?(, ?\( ?(\d+(\.\d+)? +\d+(\.\d+)?) ?(, ?\d+(\.\d+)? ?\d+(\.\d+)? ?)+\) ?)* ?\)) ?(, ?(\( ?\( ?(\d+(\.\d+)? +\d+(\.\d+)?) ?(, ?\d+(\.\d+)? +\d+(\.\d+)? ?)+ ?\) ?(, ?\( ?(\d+(\.\d+)? +\d+(\.\d+)?) ?(, ?\d+(\.\d+)? +\d+(\.\d+)? ?)+\) ?)* ?\))* ?)*\)|[Pp][Oo][Ii][Nn][Tt] ?\( ?\d+(\.\d+)? +\d+(\.\d+)? ?\)|[Mm][Uu][Ll][Tt][Ii][Pp][Oo][Ii][Nn][Tt] ?\( ?\( ?\d+(\.\d+)? +\d+(\.\d+)? ?\) ?( ?, ?\( ?\d+(\.\d+)? +\d+(\.\d+)? ?\) ?)*\)|[Mm][Uu][Ll][Tt][Ii][Pp][Oo][Ii][Nn][Tt] ?\( ?\d+(\.\d+)? +\d+(\.\d+)?( ?, ?\d+(\.\d+)? +\d+(\.\d+)?)* ?\)|[Ll][Ii][Nn][Ee][Ss][Tt][Rr][Ii][Nn][Gg] ?\( ?\d+(\.\d+)? +\d+(\.\d+)?( ?, ?\d+(\.\d+)? +\d+(\.\d+)?)+ ?\)|[Mm][Uu][Ll][Tt][Ii][Ll][Ii][Nn][Ee][Ss][Tt][Rr][Ii][Nn][Gg] ?\( ?\( ?\d+(\.\d+)? +\d+(\.\d+)? ?(, ?\d+(\.\d+)? +\d+(\.\d+)? ?)+ ?\) ?(, ?\( ?\d+(\.\d+)? +\d+(\.\d+)? ?(, ?\d+(\.\d+)? +\d+(\.\d+)?)+ ?\) ?)*\)"/>
		</xs:restriction>
	</xs:simpleType>	
</xs:schema>
